FallowRotation.java [src/java/m/crp1/erosion] Revision: default Date:
/*
* $Id$
*
* This file is part of the Cloud Services Integration Platform (CSIP),
* a Model-as-a-Service framework, API, and application suite.
*
* 2012-2022, OMSLab, Colorado State University.
*
* OMSLab licenses this file to you under the MIT license.
* See the LICENSE file in the project root for more information.
*/
package m.crp1.erosion;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
/**
*
* @author <a href="mailto:shaun.case@colostate.edu">Shaun Case</a>
*/
public class FallowRotation {
/**
* Fallow Management define for RUSLE2
*/
private static final String R2_FALLOW_MANAGEMENT = "{"
+ "\"lmod_file\": {\n"
+ " \"path\": \"managements\\\\man\",\n"
+ " \"name\": \"12 Monthly Rotary Harrow Operations\",\n"
+ " \"key\": \"\",\n"
+ " \"type\": \"MANAGEMENT\",\n"
+ " \"metainfo\": {},\n"
+ " \"params\": {\"param\": [\n"
+ " {\n"
+ " \"name\": \"DURATION_IN_MAN\",\n"
+ " \"type\": \"Int\",\n"
+ " \"unit\": \"year\",\n"
+ " \"data\": [1]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"OP_DATE\",\n"
+ " \"type\": \"Dte\",\n"
+ " \"unit\": \"date\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"data\": [\n"
+ " \"0000-01-01\",\n"
+ " \"0000-02-01\",\n"
+ " \"0000-03-01\",\n"
+ " \"0000-04-01\",\n"
+ " \"0000-05-01\",\n"
+ " \"0000-06-01\",\n"
+ " \"0000-07-01\",\n"
+ " \"0000-08-01\",\n"
+ " \"0000-09-01\",\n"
+ " \"0000-10-01\",\n"
+ " \"0000-11-01\",\n"
+ " \"0000-12-01\"\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"MAN_OP_VEG_CROP_YEAR_END_START\",\n"
+ " \"type\": \"Bol\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"data\": [\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false},\n"
+ " {\"value\": false}\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"OP_PTR\",\n"
+ " \"type\": \"ObR\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"file_type\": \"OPERATION\",\n"
+ " \"data\": [\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " },\n"
+ " {\n"
+ " \"file_key\": \"1707336101459795802\",\n"
+ " \"value\": \"operations\\\\\\\\Harrow, rotary\"\n"
+ " }\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"VEG_PTR\",\n"
+ " \"type\": \"Ovr\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"file_type\": \"VEGETATION\",\n"
+ " \"data\": [\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null}\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"EXT_RES_PTR\",\n"
+ " \"type\": \"Ovr\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"file_type\": \"RESIDUE\",\n"
+ " \"data\": [\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null},\n"
+ " {\"file_key\": null}\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"ROW_DIRECTION\",\n"
+ " \"type\": \"Ovr\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"data\": [\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"},\n"
+ " {\"value\": \"0\"}\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"RES_ADDED\",\n"
+ " \"type\": \"Flt\",\n"
+ " \"unit\": \"pound/acre\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"data\": [\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null\n"
+ " ]\n"
+ " },\n"
+ " {\n"
+ " \"name\": \"MAN_OP_VEG_NUM_HARV_UNITS\",\n"
+ " \"type\": \"Flt\",\n"
+ " \"dim\": {\"name\": \"OP_DATE\"},\n"
+ " \"data\": [\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null,\n"
+ " null\n"
+ " ]\n"
+ " }\n"
+ " ]}\n"
+ " }}";
private static final String WEPS_FALLOW_ROTATION = "{\n"
+ " \"rotationFiles\": [{\n"
+ " \"rotation\": {\n"
+ " \"duration\": 1,\n"
+ " \"length\": 0,\n"
+ " \"managements\": [{\n"
+ " \"events\": [{\n"
+ " \"date\": \"2020-01-31\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-02-28\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-03-31\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-04-30\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-05-31\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-06-30\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-07-31\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-08-31\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-09-30\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-10-31\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-11-30\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }, {\n"
+ " \"date\": \"2020-12-31\",\n"
+ " \"interval\": false,\n"
+ " \"operation\": {\n"
+ " \"add_residue\": false,\n"
+ " \"begin_growth\": false,\n"
+ " \"defaultResidueAdded\": 0,\n"
+ " \"id\": \"23112\",\n"
+ " \"kill_crop\": false,\n"
+ " \"name\": \"Harrow, rotary\",\n"
+ " \"opGroup1\": \"Tillage, surface, shallow\",\n"
+ " \"opNotes\": \"Tillage operation, shallow, Rotary harrow with spike tine clusters mounted on a rotating cable\\nset at slight angle, Breaks crusts, lifts and redeposits residue, levels surface,\\nlightly incorporates seed, fertilizer or chemicals. Vegetation is killed.\",\n"
+ " \"row_direction\": \"0\",\n"
+ " \"stir\": 10.24\n"
+ " }\n"
+ " }],\n"
+ " \"id\": null,\n"
+ " \"name\": \"default\",\n"
+ " \"path\": \"Edited managements\",\n"
+ " \"stir\": 0\n"
+ " }],\"name\": \"Fallow 12x Rotary Harrow\"\n"
+ " }\n"
+ " }]\n"
+ "}";
public static JSONObject weps_rotation(int length) throws JSONException {
String adjustedRotation = WEPS_FALLOW_ROTATION.replace("\"length\": 0", "\"length\": " + length);
return new JSONObject(adjustedRotation);
}
public static JSONObject r2_rotation() throws JSONException {
return new JSONObject(R2_FALLOW_MANAGEMENT);
}
}