{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://a2809calculator.snapplus.wisc.edu/JSONOutputSchema.json",
"title": "Root",
"type": "array",
"default": [],
"items":{
"$id": "#root/items",
"title": "Items",
"type": "object",
"required": [
"labName",
"labJobID",
"county",
"farmName",
"fieldName",
"soilSeries",
"soilMapUnit",
"scoopWeight",
"plowDepth",
"isIrrigated",
"isDrained",
"avgPH",
"avgOM",
"avgP",
"avgK",
"testInterpP",
"testInterpK",
"avgCa",
"avgMg",
"avgB",
"avgMn",
"avgZn",
"avgS",
"comments",
"npkResults",
"fieldLimeRecResult",
"exceptionMessage",
"innerExceptionMessage",
"exceptionStackTrace"
],
"properties": {
"labName": {
"$id": "#root/items/labName",
"title": "Lab name",
"type": "string",
"default": "",
"examples": [
"Soil & Forage Analysis Lab"
],
"pattern": "^.*$"
},
"labJobID": {
"$id": "#root/items/labJobID",
"title": "Lab job ID",
"type": "string",
"default": "",
"examples": [
"1009"
],
"pattern": "^.*$"
},
"county": {
"$id": "#root/items/county",
"title": "County",
"type": "string",
"default": "",
"examples": [
"Green Lake"
],
"pattern": "^.*$"
},
"farmName": {
"$id": "#root/items/farmName",
"title": "Farm Name",
"type": "string",
"default": "",
"examples": [
"Rick's Farm'"
],
"pattern": "^.*$"
},
"fieldName": {
"$id": "#root/items/fieldName",
"title": "Field Name",
"type": "string",
"default": "",
"examples": [
"1"
],
"pattern": "^.*$"
},
"soilSeries": {
"$id": "#root/items/soilSeries",
"title": "Soil Series",
"type": "string",
"default": "",
"examples": [
"Dodge"
],
"pattern": "^.*$"
},
"soilMapUnit": {
"$id": "#root/items/soilMapUnit",
"title": "Soil Map Unit",
"type": "string",
"default": "",
"examples": [
"DdA"
],
"pattern": "^.*$"
},
"scoopWeight": {
"$id": "#root/items/scoopWeight",
"title": "Scoop Weight (for density calcs)",
"type": "number",
"examples": [
1.34
],
"default": 0
},
"plowDepth": {
"$id": "#root/items/plowDepth",
"title": "Plow Depth",
"type": "integer",
"examples": [
7
],
"default": 0
},
"isIrrigated": {
"$id": "#root/items/isIrrigated",
"title": "Is irrigated",
"type": "boolean",
"examples": [
false
],
"default": true
},
"isDrained": {
"$id": "#root/items/isDrained",
"title": "Is drained",
"type": "boolean",
"examples": [
false
],
"default": true
},
"avgPH": {
"$id": "#root/items/avgPH",
"title": "Avg pH",
"type": "number",
"examples": [
6.3
],
"default": 0.0
},
"avgOM": {
"$id": "#root/items/avgOM",
"title": "Avg organic matter",
"type": "number",
"examples": [
2.3
],
"default": 0.0
},
"avgP": {
"$id": "#root/items/avgP",
"title": "Avg phosphorus",
"type": "integer",
"examples": [
8
],
"default": 0
},
"avgK": {
"$id": "#root/items/avgK",
"title": "Avg potassium",
"type": "integer",
"examples": [
57
],
"default": 0
},
"testInterpP": {
"$id": "#root/items/testInterpP",
"title": "Phosphorus interpretation for test",
"type": "string",
"default": "",
"examples": [
"VeryLow"
],
"pattern": "^.*$"
},
"testInterpK": {
"$id": "#root/items/testInterpK",
"title": "Potassium interpretation for test",
"type": "string",
"default": "",
"examples": [
"VeryLow"
],
"pattern": "^.*$"
},
"avgCa": {
"$id": "#root/items/avgCa",
"title": "Avg calcium",
"type": "integer",
"examples": [
400
],
"default": 0
},
"avgMg": {
"$id": "#root/items/avgMg",
"title": "Avg magnesium",
"type": "integer",
"examples": [
86
],
"default": 0
},
"avgB": {
"$id": "#root/items/avgB",
"title": "Avg boron",
"type": "number",
"examples": [
0.4
],
"default": 0
},
"avgMn": {
"$id": "#root/items/avgMn",
"title": "Avg manganese",
"type": "integer",
"examples": [
23
],
"default": 0
},
"avgZn": {
"$id": "#root/items/avgZn",
"title": "Avg zinc",
"type": "number",
"examples": [
1.1
],
"default": 0
},
"avgS": {
"$id": "#root/items/avgS",
"title": "Avg sulfur",
"type": "number",
"examples": [
1.0
],
"default": 0
},
"comments": {
"$id": "#root/items/comments",
"title": "Comments",
"type": "array",
"default": [],
"items":{
"$id": "#root/items/comments/items",
"title": "Items",
"type": "object",
"required": [
"id",
"isDirty",
"symbol",
"domain",
"comment",
"cropName",
"sampleID"
],
"properties": {
"id": {
"$id": "#root/items/comments/items/id",
"title": "ID of comment in database",
"type": "integer",
"examples": [
0
],
"default": 0
},
"isDirty": {
"$id": "#root/items/comments/items/isDirty",
"title": "'Dirty' flag in database (unused)",
"type": "boolean",
"examples": [
false
],
"default": true
},
"symbol": {
"$id": "#root/items/comments/items/symbol",
"title": "Human-readable symbol in database",
"type": "string",
"default": "",
"examples": [
"PrecedeLegume"
],
"pattern": "^.*$"
},
"domain": {
"$id": "#root/items/comments/items/domain",
"title": "Domain of comment (e.g. crop type or subject)",
"type": "string",
"default": "",
"examples": [
"Corn"
],
"pattern": "^.*$"
},
"comment": {
"$id": "#root/items/comments/items/comment",
"title": "Comment text (can contain numbers interpolated into the string)",
"type": "string",
"default": "",
"examples": [
"If a legume crop preceeds the first crop listed on the sample submission form, N credits should be subtracted from the N recommendation for the first crop listed. See Chapter 9 in UWEX Publication A2809 for more details."
],
"pattern": "^.*$"
},
"cropName": {
"$id": "#root/items/comments/items/cropName",
"title": "Crop name, if comment is specific to a crop in the sequence",
"type": "string",
"default": "",
"examples": [
"All"
],
"pattern": "^.*$"
},
"sampleID": {
"$id": "#root/items/comments/items/sampleID",
"title": "Sample ID",
"type": "null",
"default": null
}
}
}
},
"npkResults": {
"$id": "#root/items/npkResults",
"title": "Npkresults",
"type": "array",
"default": [],
"items":{
"$id": "#root/items/npkResults/items",
"title": "Items",
"type": "object",
"required": [
"cropName",
"yieldGoal",
"mrtnTable",
"mrtnRow",
"nCropNeed",
"legumeCredit",
"netNRec",
"p2O5CropNeed",
"k2OCropNeed",
"comments"
],
"properties": {
"cropName": {
"$id": "#root/items/npkResults/items/cropName",
"title": "Crop Name",
"type": "string",
"default": "",
"examples": [
"Soybean, grain"
],
"pattern": "^.*$"
},
"yieldGoal": {
"$id": "#root/items/npkResults/items/yieldGoal",
"title": "Yield goal",
"type": "string",
"default": "",
"examples": [
"56-65"
],
"pattern": "^.*$"
},
"mrtnTable": {
"$id": "#root/items/npkResults/items/mrtnTable",
"title": "MRTN table (unused)",
"type": "null",
"default": null
},
"mrtnRow": {
"$id": "#root/items/npkResults/items/mrtnRow",
"title": "Row in MRTN table (unused)",
"type": "null",
"default": null
},
"nCropNeed": {
"$id": "#root/items/npkResults/items/nCropNeed",
"title": "N needed by crop",
"type": "integer",
"examples": [
0
],
"default": 0
},
"legumeCredit": {
"$id": "#root/items/npkResults/items/legumeCredit",
"title": "Legume Credit (currently not calculated)",
"type": "integer",
"examples": [
0
],
"default": 0
},
"netNRec": {
"$id": "#root/items/npkResults/items/netNRec",
"title": "Net N recommendation",
"type": "integer",
"examples": [
0
],
"default": 0
},
"p2O5CropNeed": {
"$id": "#root/items/npkResults/items/p2O5CropNeed",
"title": "P2O5 needed by crop",
"type": "integer",
"examples": [
90
],
"default": 0
},
"k2OCropNeed": {
"$id": "#root/items/npkResults/items/k2OCropNeed",
"title": "K2O needed by crop",
"type": "integer",
"examples": [
130
],
"default": 0
},
"comments": {
"$id": "#root/items/npkResults/items/comments",
"title": "Comments",
"type": "array",
"default": []
}
}
}
},
"fieldLimeRecResult": {
"$id": "#root/items/fieldLimeRecResult",
"title": "Fieldlimerecresult",
"type": "object",
"required": [
"demandCrop",
"targetPH",
"rec6069",
"rec8089",
"sampleLimeRecResults"
],
"properties": {
"demandCrop": {
"$id": "#root/items/fieldLimeRecResult/demandCrop",
"title": "Crop with highest demand for lime (usually highest target pH)",
"type": "string",
"default": "",
"examples": [
"Soybean, grain"
],
"pattern": "^.*$"
},
"targetPH": {
"$id": "#root/items/fieldLimeRecResult/targetPH",
"title": "Target pH for demand crop",
"type": "number",
"examples": [
6.3
],
"default": 0.0
},
"rec6069": {
"$id": "#root/items/fieldLimeRecResult/rec6069",
"title": "Recommended lime in tons/acre for neutralizing index between 60 and 69",
"type": "integer",
"examples": [
0
],
"default": 0
},
"rec8089": {
"$id": "#root/items/fieldLimeRecResult/rec8089",
"title": "Recommended lime in tons/acre for neutralizing index between 80 and 89",
"type": "integer",
"examples": [
0
],
"default": 0
},
"sampleLimeRecResults": {
"$id": "#root/items/fieldLimeRecResult/sampleLimeRecResults",
"title": "Per-sample lime recommendations",
"type": "array",
"default": [],
"items":{
"$id": "#root/items/fieldLimeRecResult/sampleLimeRecResults/items",
"title": "Items",
"type": "object",
"required": [
"soilSmplID",
"rec6069",
"rec8089",
"validSample",
"targetPH"
],
"properties": {
"soilSmplID": {
"$id": "#root/items/fieldLimeRecResult/sampleLimeRecResults/items/soilSmplID",
"title": "Soil sample ID",
"type": "string",
"default": "",
"examples": [
"1"
],
"pattern": "^.*$"
},
"rec6069": {
"$id": "#root/items/fieldLimeRecResult/sampleLimeRecResults/items/rec6069",
"title": "Recommended lime in tons/acre for neutralizing index between 60 and 69",
"type": "integer",
"examples": [
0
],
"default": 0
},
"rec8089": {
"$id": "#root/items/fieldLimeRecResult/sampleLimeRecResults/items/rec8089",
"title": "Recommended lime in tons/acre for neutralizing index between 60 and 69",
"type": "integer",
"examples": [
0
],
"default": 0
},
"validSample": {
"$id": "#root/items/fieldLimeRecResult/sampleLimeRecResults/items/validSample",
"title": "Does this sample produce a valid lime rec",
"type": "boolean",
"examples": [
true
],
"default": true
},
"targetPH": {
"$id": "#root/items/fieldLimeRecResult/sampleLimeRecResults/items/targetPH",
"title": "Target pH of demand crop",
"type": "number",
"examples": [
6.3
],
"default": 0.0
}
}
}
}
}
}
,
"exceptionMessage": {
"$id": "#root/items/exceptionMessage",
"title": "Error debugging: Exception message thrown by calculator",
"type": "null",
"default": null
},
"innerExceptionMessage": {
"$id": "#root/items/innerExceptionMessage",
"title": "Error debugging: Inner exception message (if thrown exception is caught and re-thrown",
"type": "null",
"default": null
},
"exceptionStackTrace": {
"$id": "#root/items/exceptionStackTrace",
"title": "Error debugging: Exception stack trace",
"type": "null",
"default": null
}
}
}
}