From 10c1e45c74fa0f8d5599ce245175f170c6c1b568 Mon Sep 17 00:00:00 2001 From: Steward
## Loading required package: pacman
+The aim of this markdown document is to summarize the structure of +the .json object provided from the QT UI.
+# Read in example json file #####
+json_data <- fromJSON("qt_example.json")
+
+# Summarize level 1 of the list
+json_names<-data.table(field_name=names(json_data),
+ class=sapply(json_data,base::class),
+ length=sapply(json_data,length))
+
+kable(json_names, caption = "Summary of Level 1 of the JSON Object")
+| field_name | +class | +length | +
|---|---|---|
| annual_prec | +integer | +1 | +
| arable_tograssland | +integer | +1 | +
| climate_zone | +character | +1 | +
| climate_zone_2 | +character | +1 | +
| cropland_orgmatter | +character | +1 | +
| cropland_orgmatter_ipcc | +numeric | +1 | +
| cropland_system | +character | +1 | +
| cropland_system_ipcc | +numeric | +1 | +
| cropland_tillage | +character | +1 | +
| cropland_tillage_ipcc | +integer | +1 | +
| database_code | +character | +1 | +
| et | +integer | +1 | +
| farm_code | +character | +1 | +
| farm_name | +character | +1 | +
| feed_basket | +data.frame | +2 | +
| feed_items | +data.frame | +65 | +
| fertilizer | +data.frame | +4 | +
| grassland_implevel | +character | +1 | +
| grassland_implevel_ipcc | +integer | +1 | +
| grassland_management | +character | +1 | +
| grassland_management_ipcc | +integer | +1 | +
| grassland_toarable | +integer | +1 | +
| livestock | +data.frame | +59 | +
| purchased_bedding | +integer | +1 | +
| purchased_compost | +integer | +1 | +
| purchased_manure | +integer | +1 | +
| purchased_organic_n | +integer | +1 | +
| rain_length | +integer | +1 | +
| region | +character | +1 | +
| seasons | +data.frame | +2 | +
| soil_bulk | +integer | +1 | +
| soil_c | +integer | +1 | +
| soil_clay | +integer | +1 | +
| soil_depth | +integer | +1 | +
| soil_description | +character | +1 | +
| soil_k_value | +numeric | +1 | +
| soil_n | +numeric | +1 | +
| waste_consume_meat | +integer | +1 | +
| waste_consume_milk | +integer | +1 | +
| waste_distribution_meat | +integer | +1 | +
| waste_distribution_milk | +integer | +1 | +
| waste_processing_meat | +integer | +1 | +
| waste_processing_milk | +integer | +1 | +
| waste_production_meat | +integer | +1 | +
| waste_production_milk | +integer | +1 | +
simple_fields<-json_names[class!="data.frame" & length==1,field_name]
+simple_fields<-json_data[json_names[class!="data.frame" & length==1,field_name]]
+simple_fields<-data.table(field=names(simple_fields),
+ value=unlist(simple_fields),
+ class=json_names[class!="data.frame" & length==1,class])
+kable(simple_fields, caption = "Summary of simple fields containing a single value")
+| field | +value | +class | +
|---|---|---|
| annual_prec | +1500 | +integer | +
| arable_tograssland | +0 | +integer | +
| climate_zone | +Temperate | +character | +
| climate_zone_2 | +Warm Temperate Dry | +character | +
| cropland_orgmatter | +Low, temperate/boreal, dry | +character | +
| cropland_orgmatter_ipcc | +0.95 | +numeric | +
| cropland_system | +Long term cultivated, temperate/boreal, dry | +character | +
| cropland_system_ipcc | +0.8 | +numeric | +
| cropland_tillage | +Full | +character | +
| cropland_tillage_ipcc | +1 | +integer | +
| database_code | +base | +character | +
| et | +1460 | +integer | +
| farm_code | +001 | +character | +
| farm_name | +test 3 | +character | +
| grassland_implevel | +Medium | +character | +
| grassland_implevel_ipcc | +1 | +integer | +
| grassland_management | +Nominally managed | +character | +
| grassland_management_ipcc | +1 | +integer | +
| grassland_toarable | +0 | +integer | +
| purchased_bedding | +0 | +integer | +
| purchased_compost | +0 | +integer | +
| purchased_manure | +0 | +integer | +
| purchased_organic_n | +0 | +integer | +
| rain_length | +5 | +integer | +
| region | +AFRICA | +character | +
| soil_bulk | +6 | +integer | +
| soil_c | +12 | +integer | +
| soil_clay | +45 | +integer | +
| soil_depth | +2 | +integer | +
| soil_description | +Lixisol | +character | +
| soil_k_value | +0.25 | +numeric | +
| soil_n | +3.5 | +numeric | +
| waste_consume_meat | +2 | +integer | +
| waste_consume_milk | +2 | +integer | +
| waste_distribution_meat | +3 | +integer | +
| waste_distribution_milk | +3 | +integer | +
| waste_processing_meat | +5 | +integer | +
| waste_processing_milk | +5 | +integer | +
| waste_production_meat | +3 | +integer | +
| waste_production_milk | +3 | +integer | +
The livestock level of the json list is a data.table that contains +information about livestock herd structure and management, manure +management and productivity.
+Here is the data transposed into long form so it is easier to fit +onto the page.
+livestock<-t(json_data$livestock) # Transpose
+colnames(livestock)<-paste0("livetype_code_",json_data$livestock$livetype_code)
+kable(livestock,caption="Transposed livestock herd data")
+| + | livetype_code_2 | +livetype_code_1 | +livetype_code_5 | +
|---|---|---|---|
| adult_weight | +800 | +400 | +0 | +
| annual_growth | +0 | +0 | +90 | +
| annual_milk | +3000 | +1500 | +0 | +
| annual_wool | +0 | +0 | +0 | +
| birth_interval | +1.166667 | +1.500000 | +0.000000 | +
| body_weight | +600 | +350 | +200 | +
| body_weight_weaning | +0 | +0 | +0 | +
| body_weight_year_one | +0 | +0 | +0 | +
| carcass_fraction | +0.48 | +0.00 | +0.48 | +
| cp_grazing | +0 | +3 | +0 | +
| cp_growth | +0.0 | +0.0 | +0.4 | +
| cp_lactation | +5 | +2 | +0 | +
| cp_lactmilk | +0.09 | +0.09 | +0.00 | +
| cp_maintenance | +0.60 | +0.35 | +0.20 | +
| cp_pregnancy | +12.21 | +9.64 | +0.00 | +
| distance_to_pasture | +0.0 | +0.5 | +0.5 | +
| energy_eggcontent | +0 | +0 | +0 | +
| energy_meatcontent | +2200 | +2200 | +2200 | +
| energy_milkcontent | +970 | +970 | +0 | +
| fat_content | +4.3 | +5.8 | +0.0 | +
| grazing_displacement | +0 | +2 | +0 | +
| herd_composition | +2 | +5 | +0 | +
| ipcc_ef_category_t1 | +Dairy cattle | +Other mature female | +Other mature female-grazing | +
| ipcc_ef_category_t2 | +Dairy cows | +Dairy cows | +Non-dairy | +
| ipcc_meth_man_category | +Dairy cows | +Dairy cows | +Other cattle | +
| ipcc_n_exc_category | +Dairy cattle | +Dairy cattle | +Other cattle | +
| lactation_length | +0 | +0 | +0 | +
| litter_size | +0 | +0 | +0 | +
| livetype_code | +2 | +1 | +5 | +
| livetype_desc | +Cattle - Cows (improved) | +Cattle - Cows (local) | +Cattle - Steers/heifers | +
| lw_gain | +0 | +0 | +0 | +
| manure_in_field | +0 | +0 | +0 | +
| manure_in_non_roofed_enclosure | +0 | +0 | +0 | +
| manure_in_stable | +1 | +0 | +0 | +
| manure_onfarm_fraction | +1 | +0 | +0 | +
| manure_sales_fraction | +0 | +0 | +0 | +
| manureman_non_roofed_enclosure | +Solid storage | +Solid storage | +Solid storage | +
| manureman_offfarm_grazing | +Solid storage | +Solid storage | +Solid storage | +
| manureman_onfarm_grazing | +Solid storage | +Pasture / range / paddock | +Solid storage | +
| manureman_stable | +Solid storage | +Solid storage | +Solid storage | +
| me_grazing | +2.0 | +2.0 | +1.5 | +
| me_growth | +0 | +0 | +50 | +
| me_lactation | +5 | +2 | +0 | +
| me_lactmilk | +5.5 | +5.5 | +0.0 | +
| me_maintenance | +60.61547 | +40.45955 | +26.59148 | +
| me_pregnancy | +1500 | +1260 | +0 | +
| meat_product | +beef | +beef | +beef | +
| milk_product | +cow milk | +cow milk | +cow milk | +
| n_content | +0.029 | +0.029 | +0.029 | +
| piglets_relying_on_milk | +0 | +0 | +0 | +
| proportion_growth | +0 | +0 | +0 | +
| protein_meatcontent | +26 | +26 | +26 | +
| protein_milkcontent | +3.7 | +3.2 | +0.0 | +
| time_in_non_roofed_enclosure | +0 | +0 | +0 | +
| time_in_offfarm_grazing | +0 | +0 | +0 | +
| time_in_onfarm_grazing | +0 | +1 | +1 | +
| time_in_stable | +1 | +0 | +0 | +
| water_requirement | +140 | +120 | +80 | +
| work_hour | +0 | +0 | +0 | +
The livestock are linked to the
+feed_basket$feeds tables by the livetype_code
+keyfield.
json_data$livestock[,c("livetype_code","livetype_desc")] # Codes in the feed_items table
+lapply(json_data$feed_basket$feeds,"[[","livestock") # Codes in the feed_basket tables
+## [[1]]
+## [[1]][[1]]
+## allocation livetype_code
+## 1 40 2
+## 2 17 1
+## 3 40 5
+##
+## [[1]][[2]]
+## allocation livetype_code
+## 1 25 2
+## 2 43 1
+## 3 20 5
+##
+## [[1]][[3]]
+## allocation livetype_code
+## 1 35 2
+## 2 40 1
+## 3 40 5
+##
+##
+## [[2]]
+## [[2]][[1]]
+## allocation livetype_code
+## 1 40 2
+## 2 17 1
+## 3 40 5
+##
+## [[2]][[2]]
+## allocation livetype_code
+## 1 25 2
+## 2 43 1
+## 3 20 5
+##
+## [[2]][[3]]
+## allocation livetype_code
+## 1 35 2
+## 2 40 1
+## 3 40 5
+The feed_items level of the json list is a data.table that contains +information about the production management and context of feed +production.
+Here is the data transposed into long form so it is easier to fit +onto the page.
+feed_items<-t(json_data$feed_items) # Transpose
+colnames(feed_items)<-paste0("feed_item_code_",json_data$feed_items$feed_item_code)
+kable(feed_items,caption="Transposed feed item data")
+| + | feed_item_code_65 | +feed_item_code_99 | +feed_item_code_18 | +
|---|---|---|---|
| ammonia | +0 | +0 | +0 | +
| ammonium_nitrate | +0 | +0 | +0 | +
| ammonium_sulfate | +0 | +0 | +0 | +
| average_dbh25 | +0 | +0 | +0 | +
| average_dbh2550 | +0 | +0 | +0 | +
| average_dbh50 | +0 | +0 | +0 | +
| category | +cereal | +cereal | +legume | +
| cp_content | +13.60 | +3.85 | +18.40 | +
| cultivation_period | +0 | +0 | +0 | +
| cut_carry_fraction | +0 | +0 | +0 | +
| dap | +0 | +0 | +0 | +
| diameter_breast | +0 | +0 | +0 | +
| dm_content | +89.00 | +91.88 | +90.00 | +
| dry_yield | +30 | +15 | +8 | +
| ecosystem_type | ++ | + | + |
| energy | +0 | +360 | +336 | +
| feed_item_code | +65 | +99 | +18 | +
| feed_item_name | +Oats (Avena sativa) - grain IP | +Rice (Oryza sativa) - straw | +Cowpea (Vigna unguiculata) - crop residue | +
| feed_type_code | +2 | +45 | +9 | +
| feed_type_name | +Avena sativa | +Rice | +Cowpea | +
| fraction_as_fertilizer | +1 | +1 | +0 | +
| fraction_as_manure | +NA | +NA | +NA | +
| grassman | +1 | +1 | +1 | +
| grassman_change_factor | +1 | +1 | +1 | +
| grassman_desc | +Nominally managed | +Nominally managed | +Nominally managed | +
| increase_dbh25 | +0 | +0 | +0 | +
| increase_dbh2550 | +0 | +0 | +0 | +
| increase_dbh50 | +0 | +0 | +0 | +
| intercrop | +0 | +0 | +0 | +
| intercrop_fraction | +0 | +0 | +0 | +
| kc_initial | +0.10 | +1.05 | +0.15 | +
| kc_late | +0.55 | +0.75 | +0.60 | +
| kc_midseason | +1.10 | +1.20 | +1.05 | +
| land_cover | +7 | +7 | +1 | +
| land_cover_desc | +Cereals | +Cereals | +Dense forest | +
| landcover_c_factor | +0.150 | +0.150 | +0.001 | +
| main_n | +0.0176 | +0.0090 | +0.0380 | +
| main_product_removal | +1 | +1 | +0 | +
| me_content | +12.267324 | +5.640000 | +9.880848 | +
| n_content | +0.2 | +0.2 | +0.0 | +
| n_fertilizer | +NA | +NA | +NA | +
| n_solutions | +50 | +300 | +100 | +
| npk | +0 | +0 | +0 | +
| organic_amendment | ++ | + | + |
| residue_burnt | +0 | +0 | +0 | +
| residue_dry_yield | +0 | +0 | +6 | +
| residue_n | +0.0 | +0.2 | +0.0 | +
| residue_removal | +0.0 | +0.8 | +0.0 | +
| slope | +1 | +1 | +1 | +
| slope_desc | +Flat (0-5%) | +Flat (0-5%) | +Flat (0-5%) | +
| slope_length | +0 | +0 | +0 | +
| slope_p_factor | +0.11 | +0.11 | +0.11 | +
| source_type | +Main | +Residue | +Main | +
| time_horizon | +0 | +0 | +0 | +
| trees_dhb | +0 | +0 | +0 | +
| trees_growth | +0 | +0 | +0 | +
| trees_ha | +0 | +0 | +0 | +
| trees_ha_dbh25 | +0 | +0 | +0 | +
| trees_ha_dbh2550 | +0 | +0 | +0 | +
| trees_ha_dbh50 | +0 | +0 | +0 | +
| trees_removal | +0 | +0 | +0 | +
| urea | +400 | +700 | +200 | +
| usda_value | +0 | +20450 | +16062 | +
| water_content | +0.00 | +12.89 | +11.95 | +
| water_regime | ++ | + | + |
The feed_items are linked to the
+feed_basket$feeds tables by the feed_item_code
+field.
json_data$feed_items[,c("feed_item_code","feed_item_name")] # Codes in the feed_items table
+lapply(json_data$feed_basket$feeds,"[[","feed_item_code") # Codes in the feed_basket tables
+## [[1]]
+## [1] "65" "99" "18"
+##
+## [[2]]
+## [1] "65" "99" "18"
+Other keyfields include feed_type_code and
+land_cover:
json_data$feed_items[,c("feed_type_code","feed_type_name","land_cover","land_cover_desc")]
+The fertilizer level of the json list is a data.table that contains +information about the production management and context of feed +production.
+json_data$fertilizer
+The values in fertilizer_code field do not appear
+directly correspond to any fields in the feed basket or feed item
+tables. However columns with similar names do appear in the field item
+tables
fertilizers<-json_data$fertilizer$fertilizer_desc
+fi_cols<-colnames(json_data$feed_items)
+
+# Reformat fertilizer names to match column names in the feed_items table
+(fertilizers<-gsub(" ","_",tolower(json_data$fertilizer$fertilizer_desc)))
+## [1] "ammonium_nitrate" "n_solutions"
+# Find matching columns
+fi_cols[fi_cols %in% fertilizers]
+## [1] "ammonium_nitrate" "n_solutions"
+The seasons level is simple table that records the length of each +season (adding up to 365 days max).
+json_data$seasons
+The season_name field is the key field that links to the
+feed basket.
json_data$feed_basket$season_name
+## [1] "Wet season" "Dry season"
+The feed basket data contains 2 levels called feeds and season_name. +These levels appear to be the same length: feeds = 2, season_name = +2.
+The season object is simple, being a vector containing the names of +the seasons:
+json_data$feed_basket$season_name
+## [1] "Wet season" "Dry season"
+The feed basket object is the most structurally complex element of +the input json data containing several levels of nesting.
+str(json_data$feed_basket$feeds)
+## List of 2
+## $ :'data.frame': 3 obs. of 3 variables:
+## ..$ feed_item_code: chr [1:3] "65" "99" "18"
+## ..$ feed_type_code: chr [1:3] "2" "45" "9"
+## ..$ livestock :List of 3
+## .. ..$ :'data.frame': 3 obs. of 2 variables:
+## .. .. ..$ allocation : int [1:3] 40 17 40
+## .. .. ..$ livetype_code: chr [1:3] "2" "1" "5"
+## .. ..$ :'data.frame': 3 obs. of 2 variables:
+## .. .. ..$ allocation : int [1:3] 25 43 20
+## .. .. ..$ livetype_code: chr [1:3] "2" "1" "5"
+## .. ..$ :'data.frame': 3 obs. of 2 variables:
+## .. .. ..$ allocation : int [1:3] 35 40 40
+## .. .. ..$ livetype_code: chr [1:3] "2" "1" "5"
+## $ :'data.frame': 3 obs. of 3 variables:
+## ..$ feed_item_code: chr [1:3] "65" "99" "18"
+## ..$ feed_type_code: chr [1:3] "2" "45" "9"
+## ..$ livestock :List of 3
+## .. ..$ :'data.frame': 3 obs. of 2 variables:
+## .. .. ..$ allocation : int [1:3] 40 17 40
+## .. .. ..$ livetype_code: chr [1:3] "2" "1" "5"
+## .. ..$ :'data.frame': 3 obs. of 2 variables:
+## .. .. ..$ allocation : int [1:3] 25 43 20
+## .. .. ..$ livetype_code: chr [1:3] "2" "1" "5"
+## .. ..$ :'data.frame': 3 obs. of 2 variables:
+## .. .. ..$ allocation : int [1:3] 35 40 40
+## .. .. ..$ livetype_code: chr [1:3] "2" "1" "5"
+Each feed basket table (e.g.,
+json_data$feed_basket$feeds[[1]]) is constructed using key
+fields that describe feed items found in the
+json_data$feed_items table, specifically
+feed_item_code and feed_type_code. The feeds
+are then allocated to the herd elements described in the
+json_data$livestock table.
json_data$feed_basket$feeds[[1]]
+The livestock field in the feed basket table contains a list with 3
+elements, indicating a one-to-many relationship between the diet item
+and elements of the livestock herd. Each feed item represented by a row
+in the feed basket table is allocated to different herd elements, with
+the livetype_code field serving as the key field linking
+the two tables.
json_data$feed_basket$feeds[[1]]$livestock
+## [[1]]
+## allocation livetype_code
+## 1 40 2
+## 2 17 1
+## 3 40 5
+##
+## [[2]]
+## allocation livetype_code
+## 1 25 2
+## 2 43 1
+## 3 20 5
+##
+## [[3]]
+## allocation livetype_code
+## 1 35 2
+## 2 40 1
+## 3 40 5
+The first element of the livestock list contains no further +nesting:
+str(json_data$feed_basket$feeds[[1]]$livestock[[1]])
+## 'data.frame': 3 obs. of 2 variables:
+## $ allocation : int 40 17 40
+## $ livetype_code: chr "2" "1" "5"
+rda_files<-list.files(".rda")
+The ghg para object (cleaned/data/ghg_para.rda) is a
+list of tables that appear to refer to IPCC equations, livestock
+parameters and fertilizers.
load("ghg_para.rda")
+
+# Summarize level 1 of the list
+ghg_names<-data.table(field_name=names(ghg_para),
+ dim=sapply(ghg_para,dim))
+
+kable(ghg_names,caption="Tables within ghg_names list")
+| field_name | +dim | +
|---|---|
| livestock_parameters | +18, 7 | +
| Table_10.12 | +6, 2 | +
| table_10.17 | +3, 2 | +
| table_10.19 | +12, 3 | +
| table_10.21 | +3, 2 | +
| table_10.22 | +7, 4 | +
| table_10A_9 | +18, 3 | +
| table_11.1_&_table_11.3 | +10, 5 | +
| table_2.5 | +5, 2 | +
| fertilizer_table | +5, 5 | +
| table_5.11 | +NULL | +
| table_5.12 | +8, 4 | +
| table_5.13 | +5, 3 | +
| table_5.14 | +6, 2 | +
The exception is ghg_para$table_5.11 which is a
+list:
ghg_para$table_5.11
+## $baseline_emission_factor
+## [1] 1.3
+##
+## $soil_type_scaling_factor
+## [1] 1
+ghg_para$livestock_parameters
+ghg_para$fertilizer_table
+kable(ghg_para$Table_10.12)
+| animal_category_ipcc | +methane_conversion_factor | +
|---|---|
| Dairy cattle | +6.5 | +
| Other Cattle and Buffaloes that are primarily fed low +quality crop residues and byproducts | +6.5 | +
| Other Cattle or Buffalo - grazing | +6.5 | +
| sheep | +6.5 | +
| lambs (less 1 yr old) | +4.5 | +
| N/A | +0.0 | +
kable(ghg_para$table_10.17)
+| system | +mcf_by_average_annual_temperature | +
|---|---|
| Pasture / range / paddock | +0.015 | +
| solid storage | +0.040 | +
| dry lot | +0.015 | +
kable(ghg_para$table_10.19)
+| anaimal_category | +Continent | +n_rate | +
|---|---|---|
| Dairy cattle | +LATIN AMERICA | +0.48 | +
| Dairy cattle | +AFRICA | +0.60 | +
| Dairy cattle | +ASIA | +0.47 | +
| Other cattle | +LATIN AMERICA | +0.37 | +
| Other cattle | +AFRICA | +0.63 | +
| Other cattle | +ASIA | +0.34 | +
| Sheep | +LATIN AMERICA | +1.17 | +
| Sheep | +AFRICA | +1.17 | +
| Sheep | +ASIA | +1.17 | +
| Pigs | +LATIN AMERICA | +1.64 | +
| Pigs | +AFRICA | +1.64 | +
| Pigs | +ASIA | +0.50 | +
kable(ghg_para$table_10.21)
+| system | +direct_nitrous_oxide_factor | +
|---|---|
| Pasture / range / paddock | +0.010 | +
| solid storage | +0.005 | +
| dry lot | +0.020 | +
kable(ghg_para$table_10.22)
+| anaimal_category | +system | +fraction_n_loss_mms | +range | +
|---|---|---|---|
| Dairy cows | +pit storage | +0.28 | +(10-40) | +
| Dairy cows | +dry lot | +0.20 | +(10-35) | +
| Dairy cows | +solid storage | +0.30 | +(10-40) | +
| Dairy cows | +daily spread | +0.07 | +(5-60) | +
| Other cattle | +dry lot | +0.30 | +(20-50) | +
| Other cattle | +solid storage | +0.45 | +(10-65) | +
| Other cattle | +deep bedding | +0.30 | +(20-40) | +
kable(ghg_para$Table_10.12)
+| animal_category_ipcc | +methane_conversion_factor | +
|---|---|
| Dairy cattle | +6.5 | +
| Other Cattle and Buffaloes that are primarily fed low +quality crop residues and byproducts | +6.5 | +
| Other Cattle or Buffalo - grazing | +6.5 | +
| sheep | +6.5 | +
| lambs (less 1 yr old) | +4.5 | +
| N/A | +0.0 | +
kable(ghg_para$`table_11.1_&_table_11.3`)
+| emission_factors | +unit | +description | +n2o_emissions_from_managed_soils | +uncertainty_range | +
|---|---|---|---|---|
| EF1 | +kg N2O-N (kg N input)-1 | +emission factor for N2O emissions from N inputs | +0.0100 | +0.003-0.03 | +
| EF2 | +kg N2O-N ha-1 yr-1 | +emission factor for N2O emissions from drained/managed +organic soils | +16.0000 | +5 TO 48 | +
| EF3PRP-CPP | +kg N2O-N (kg N input)-1 | +emission factor for N2O emissions from urine and dung N +deposited on pasture, range and paddock by grazing animals | +0.0200 | +0.007-0.06 | +
| EF3PRP-SO | +kg N2O-N (kg N input)-1 | +emission factor for N2O emissions from urine and dung N +deposited on pasture, range and paddock by grazing animals | +0.0100 | +0.003-0.03 | +
| EF4 | +[kg N-N2O (kg NH3-N + NOx-N volatilised)-1] | +emission factor for N2O emissions from atmospheric +deposition of N on soils and water surfaces | +0.0100 | +0.002-0.05 | +
| EF5 | +kg N2O-N (kg N leached and runoff)-1 | +emission factor for N2O emissions from N leaching and +runoff | +0.0075 | +0.005-0.025 | +
| EF1R | +kg N2O-N (kg N input)-1 | +emission factor for N2O emission from N inputs for +flooded rice | +0.0030 | +0.000 - 0.006 | +
| FracGASF | +kg N volatilised (kg of N applied)-1 | +fraction of synthetic fertilzer N that volatilises as +NH3 and NOx | +0.1000 | +0.03-0.3 | +
| FracGASM | +kg N volatilised (kg of N applied or deposited)-1 | +fraction of applied organic N fertiliser materials +(FON) and of urine and dung N deposited by grazing animals (FPRP) that +volatilises as NH3 and NOx | +0.2000 | +0.05-0.5 | +
| FracLEACH-(H) | +kg N (kg of N additions)-1 | +fraction of all N added to/mineralised in managed soils +in regions where leaching/runoff occurs that is lost through leaching +and runoff | +0.3000 | +if sum of rain - sum of PE > soil water holding +capacity during rainy season | +
kable(ghg_para$table_2.5)
+| ghg_gas | +burnt_emission_factor | +
|---|---|
| CO2 | +1515.00 | +
| CO | +92.00 | +
| CH4 | +2.70 | +
| N2O | +0.07 | +
| Nox | +2.50 | +
kable(ghg_para$table_5.12)
+| ecosystem | +ecosystem_type | +aggregated_scaling_factor_w | +disaggregated_scaling_factor_w | +
|---|---|---|---|
| irrigated | +Irrigated-Continuously flooded | +0.78 | +1.00 | +
| irrigated | +intermittently flooded-single aeration | +0.78 | +0.60 | +
| irrigated | +Intermittently flooded-multiple aeration | +0.78 | +0.52 | +
| Rain fed and deep water | +Rainfed-regular rainfed | +0.27 | +0.28 | +
| Rain fed and deep water | +Rainfed-drought prone | +0.27 | +0.25 | +
| Rain fed and deep water | +Rainfed-deep water | +0.27 | +0.31 | +
| Upland | +Upland | +0.00 | +0.00 | +
| None | +None | +0.00 | +0.00 | +
kable(ghg_para$table_5.13)
+| water_regime | +aggregated_scaling_factor_p | +disaggregated_scaling_factor_p | +
|---|---|---|
| non-flooded pre-season <180 days( often in double +cropping of rice) | +1.22 | +1.00 | +
| non-flooded pre-season >180 days (single rice crop +following a dry fallow period) | +1.22 | +0.68 | +
| flooded pre-season (>30 days) | +1.22 | +1.90 | +
| flooded pre-season (<30 days) | +1.22 | +0.00 | +
| None | +0.00 | +0.00 | +
kable(ghg_para$table_5.14)
+| organic_amendment | +conversion_factor | +
|---|---|
| straw incorporated in soil shortly (<30 days) before +cultivation | +1.00 | +
| straw incorporated in soil long (>30 days) before +cultivation | +0.29 | +
| Compost | +0.05 | +
| Farm yard manure | +0.14 | +
| green manure | +0.50 | +
| None | +0.00 | +
The stock change object
+(cleaned/data/stock_change_para.rda) is a series of nested
+lists that describe: 1) landuse, management, and input factor_variables
+for grassland; and 2) landuse, tillage, and input input factor_variables
+for cropland.
load("stock_change_para.rda")
+str(stock_change_para)
+## List of 2
+## $ cropland :'data.frame': 1 obs. of 3 variables:
+## ..$ landuse:List of 1
+## .. ..$ :'data.frame': 1 obs. of 1 variable:
+## .. .. ..$ factor_variables:List of 1
+## .. .. .. ..$ :'data.frame': 1 obs. of 10 variables:
+## .. .. .. .. ..$ Long term cultivated, temperate/boreal, dry : num 0.8
+## .. .. .. .. ..$ Long term cultivated, temperate/boreal, moist : num 0.69
+## .. .. .. .. ..$ Long term cultivated, tropical, dry : num 0.58
+## .. .. .. .. ..$ Long term cultivated, tropical, moist/wet : num 0.48
+## .. .. .. .. ..$ Long term cultivated, tropical montane, all : num 0.64
+## .. .. .. .. ..$ Paddy rice : num 1.1
+## .. .. .. .. ..$ Perennial/tree crop : int 1
+## .. .. .. .. ..$ Set aside (< 20 years), temperate/boreal and tropical, dry : num 0.93
+## .. .. .. .. ..$ Set aside (< 20 years), temperate/boreal and tropical, moist/wet: num 0.82
+## .. .. .. .. ..$ Set aside (< 20 years),tropical montane, all : num 0.88
+## ..$ tillage:List of 1
+## .. ..$ :'data.frame': 1 obs. of 1 variable:
+## .. .. ..$ factor_variables:List of 1
+## .. .. .. ..$ :'data.frame': 1 obs. of 11 variables:
+## .. .. .. .. ..$ Full : int 1
+## .. .. .. .. ..$ Reduced, temperate/boreal, dry : num 1.02
+## .. .. .. .. ..$ Reduced, temperate/boreal, moist: num 1.08
+## .. .. .. .. ..$ Reduced, tropical, dry : num 1.09
+## .. .. .. .. ..$ Reduced, tropical, moist : num 1.15
+## .. .. .. .. ..$ Reduced, tropical montane, all : num 1.09
+## .. .. .. .. ..$ No-till, temperate/boreal, dry : num 1.1
+## .. .. .. .. ..$ No-till, temperate/boreal, moist: num 1.15
+## .. .. .. .. ..$ No-till, tropical, dry : num 1.17
+## .. .. .. .. ..$ No-till, tropical, moist/wet : num 1.22
+## .. .. .. .. ..$ No-till, tropical montane, all : num 1.16
+## ..$ input :List of 1
+## .. ..$ :'data.frame': 1 obs. of 1 variable:
+## .. .. ..$ factor_variables:List of 1
+## .. .. .. ..$ :'data.frame': 1 obs. of 12 variables:
+## .. .. .. .. ..$ Low, temperate/boreal, dry : num 0.95
+## .. .. .. .. ..$ Low, temperate/boreal, moist : num 0.92
+## .. .. .. .. ..$ Low, tropical, dry : num 0.95
+## .. .. .. .. ..$ Low, tropical, moist : num 0.92
+## .. .. .. .. ..$ Low, tropical montane, all : num 0.94
+## .. .. .. .. ..$ Medium, all : int 1
+## .. .. .. .. ..$ High w/OUT manure, temperate/boral and tropical, dry : num 1.04
+## .. .. .. .. ..$ High w/OUT manure, temperate/boral and tropical, moist/wet: num 1.11
+## .. .. .. .. ..$ High w/OUT manure, tropical montane : num 1.08
+## .. .. .. .. ..$ High with manure, temperate/boral and tropical, dry : num 1.37
+## .. .. .. .. ..$ High with manure, temperate/boral and tropical, moist/wet : num 1.44
+## .. .. .. .. ..$ High with manure, tropical montane : num 1.41
+## $ grassland:'data.frame': 1 obs. of 3 variables:
+## ..$ landuse :List of 1
+## .. ..$ :'data.frame': 1 obs. of 1 variable:
+## .. .. ..$ factor_variables:List of 1
+## .. .. .. ..$ :'data.frame': 1 obs. of 1 variable:
+## .. .. .. .. ..$ All: int 1
+## ..$ management:List of 1
+## .. ..$ :'data.frame': 1 obs. of 1 variable:
+## .. .. ..$ factor_variables:List of 1
+## .. .. .. ..$ :'data.frame': 1 obs. of 8 variables:
+## .. .. .. .. ..$ Nominally managed : num 1
+## .. .. .. .. ..$ Moderately degraded grassland, temperate/boreal: num 0.95
+## .. .. .. .. ..$ Moderately degraded grassland, tropical : num 0.97
+## .. .. .. .. ..$ Moderately degraded grassland, tropical montane: num 0.96
+## .. .. .. .. ..$ Severely degraded : num 0.7
+## .. .. .. .. ..$ Improved grassland, temperate/boreal : num 1.14
+## .. .. .. .. ..$ Improved grassland, tropical : num 1.17
+## .. .. .. .. ..$ Improved grassland, tropical montane : num 1.16
+## ..$ input :List of 1
+## .. ..$ :'data.frame': 1 obs. of 1 variable:
+## .. .. ..$ factor_variables:List of 1
+## .. .. .. ..$ :'data.frame': 1 obs. of 3 variables:
+## .. .. .. .. ..$ Medium: int 1
+## .. .. .. .. ..$ High : num 1.11
+## .. .. .. .. ..$ none : int 1
+Grassland: landuse
+x<-unlist(stock_change_para$grassland$landuse[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+| variable | +value | +
|---|---|
| All | +1 | +
Grassland: management
+x<-unlist(stock_change_para$grassland$management[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+| variable | +value | +
|---|---|
| Nominally managed | +1.00 | +
| Moderately degraded grassland, temperate/boreal | +0.95 | +
| Moderately degraded grassland, tropical | +0.97 | +
| Moderately degraded grassland, tropical montane | +0.96 | +
| Severely degraded | +0.70 | +
| Improved grassland, temperate/boreal | +1.14 | +
| Improved grassland, tropical | +1.17 | +
| Improved grassland, tropical montane | +1.16 | +
Grassland: input
+x<-unlist(stock_change_para$grassland$input[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+| variable | +value | +
|---|---|
| Medium | +1.00 | +
| High | +1.11 | +
| none | +1.00 | +
Cropland: landuse
+x<-unlist(stock_change_para$cropland$landuse[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+| variable | +value | +
|---|---|
| Long term cultivated, temperate/boreal, dry | +0.80 | +
| Long term cultivated, temperate/boreal, moist | +0.69 | +
| Long term cultivated, tropical, dry | +0.58 | +
| Long term cultivated, tropical, moist/wet | +0.48 | +
| Long term cultivated, tropical montane, all | +0.64 | +
| Paddy rice | +1.10 | +
| Perennial/tree crop | +1.00 | +
| Set aside (< 20 years), temperate/boreal and +tropical, dry | +0.93 | +
| Set aside (< 20 years), temperate/boreal and +tropical, moist/wet | +0.82 | +
| Set aside (< 20 years),tropical montane, all | +0.88 | +
Cropland: tillage
+x<-unlist(stock_change_para$cropland$tillage[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+| variable | +value | +
|---|---|
| Full | +1.00 | +
| Reduced, temperate/boreal, dry | +1.02 | +
| Reduced, temperate/boreal, moist | +1.08 | +
| Reduced, tropical, dry | +1.09 | +
| Reduced, tropical, moist | +1.15 | +
| Reduced, tropical montane, all | +1.09 | +
| No-till, temperate/boreal, dry | +1.10 | +
| No-till, temperate/boreal, moist | +1.15 | +
| No-till, tropical, dry | +1.17 | +
| No-till, tropical, moist/wet | +1.22 | +
| No-till, tropical montane, all | +1.16 | +
Cropland: input
+x<-unlist(stock_change_para$cropland$input[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+| variable | +value | +
|---|---|
| Low, temperate/boreal, dry | +0.95 | +
| Low, temperate/boreal, moist | +0.92 | +
| Low, tropical, dry | +0.95 | +
| Low, tropical, moist | +0.92 | +
| Low, tropical montane, all | +0.94 | +
| Medium, all | +1.00 | +
| High w/OUT manure, temperate/boral and tropical, +dry | +1.04 | +
| High w/OUT manure, temperate/boral and tropical, +moist/wet | +1.11 | +
| High w/OUT manure, tropical montane | +1.08 | +
| High with manure, temperate/boral and tropical, +dry | +1.37 | +
| High with manure, temperate/boral and tropical, +moist/wet | +1.44 | +
| High with manure, tropical montane | +1.41 | +
The mufindi object (cleaned/data/mufindi.rda) appears to
+be an input dataset similar to the qt_example.json
+file.
load("mufindi.rda")
+str(mufindi)
+## List of 48
+## $ cba_discount_rate : int 0
+## $ cba_years : int 0
+## $ cropland_orgmatter : chr "High w/OUT manure, temperate/boral and tropical, moist/wet"
+## $ cropland_system : chr "Long term cultivated, temperate/boreal, moist"
+## $ cropland_tillage : chr "Reduced, tropical, moist"
+## $ farm_code : chr "ddd"
+## $ farm_name : chr "ooo"
+## $ feed_basket :'data.frame': 2 obs. of 2 variables:
+## ..$ feeds :List of 2
+## .. ..$ :'data.frame': 4 obs. of 3 variables:
+## .. .. ..$ feed_item_code: chr [1:4] "16" "31" "51" "82"
+## .. .. ..$ feed_type_code: chr [1:4] "8" "17" "29" "40"
+## .. .. ..$ livestock :List of 4
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 2 10
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 20 10
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 30 10
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 48 70
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## .. ..$ :'data.frame': 4 obs. of 3 variables:
+## .. .. ..$ feed_item_code: chr [1:4] "16" "31" "51" "82"
+## .. .. ..$ feed_type_code: chr [1:4] "8" "17" "29" "40"
+## .. .. ..$ livestock :List of 4
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 70 50
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 20 5
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 5 5
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## .. .. .. ..$ :'data.frame': 2 obs. of 2 variables:
+## .. .. .. .. ..$ allocation : int [1:2] 5 40
+## .. .. .. .. ..$ livetype_code: chr [1:2] "3" "6"
+## ..$ season_name: chr [1:2] "Dry season" "Wet season"
+## $ feed_items :'data.frame': 4 obs. of 64 variables:
+## ..$ ammonia : int [1:4] 14 0 0 8
+## ..$ ammonium_nitrate : int [1:4] 11 0 5 0
+## ..$ ammonium_sulfate : int [1:4] 12 6 0 0
+## ..$ c_factor : num [1:4] 0.05 0.117 0.05 0.027
+## ..$ category : chr [1:4] "" "legume" "cereal" "grass"
+## ..$ cp_content : num [1:4] 1.81 16.29 8.9 11
+## ..$ cp_fresh : num [1:4] 1.61 15.17 7.3 1.65
+## ..$ crop_coefficient : num [1:4] 0 0.633 0.533 0.917
+## ..$ cut_carry_fraction : int [1:4] 2 0 0 0
+## ..$ dap : int [1:4] 10 0 0 4
+## ..$ de : num [1:4] 0.71 0.433 0.674 0.652
+## ..$ dm_content : num [1:4] 88.8 93.1 82 15
+## ..$ dry_yield : num [1:4] 5.04 1.16 8.6 6
+## ..$ emission_factor : int [1:4] 0 0 0 0
+## ..$ energy : int [1:4] 160 567 365 0
+## ..$ energy_dm : num [1:4] 397 606 407 0
+## ..$ establishment_cost : int [1:4] 0 0 0 20
+## ..$ establishment_labour : int [1:4] 0 0 0 6
+## ..$ feed_item_code : chr [1:4] "16" "31" "51" "82"
+## ..$ feed_item_name : chr [1:4] "Cassava (Manihot esculenta) - tubers" "Groundnut (Arachis hypogaea) - seed hulls" "Maize (Zea mays) - forage" "Pennisetum purpureum - forage"
+## ..$ feed_type_code : chr [1:4] "8" "17" "29" "40"
+## ..$ feed_type_name : chr [1:4] "Cassava" "Groundnut" "Maize" "Pennisetum purpureum"
+## ..$ fraction_as_fertilizer: int [1:4] 7 1 0 0
+## ..$ fresh_yield : num [1:4] 12.5 1.22 10 20
+## ..$ grassman : chr [1:4] "1" "1" "1" "1"
+## ..$ grassman_change_factor: int [1:4] 1 1 1 1
+## ..$ harvest_index : num [1:4] 0.5 0.29 0.47 0.9
+## ..$ intercrop : int [1:4] 1 0 0 1
+## ..$ intercrop_fraction : int [1:4] 1 0 0 2
+## ..$ kc_initial : num [1:4] 0 0.15 0.15 0.6
+## ..$ kc_late : num [1:4] 0 0.6 0.3 1.05
+## ..$ kc_midseason : num [1:4] 0 1.15 1.15 1.1
+## ..$ land_cover : chr [1:4] "1" "1" "1" "1"
+## ..$ landcover_c_factor : num [1:4] 0.001 0.001 0.001 0.001
+## ..$ main_n : num [1:4] 0.004 0.037 0.017 0.023
+## ..$ main_product_removal : int [1:4] 4 0 0 0
+## ..$ me_content : num [1:4] 10.76 6.56 10.22 9.88
+## ..$ me_fresh : num [1:4] 9.56 6.11 8.38 1.48
+## ..$ n_fertilizer : int [1:4] 15 0 9 0
+## ..$ n_fixation : num [1:4] 0 38.2 0 0
+## ..$ n_solutions : int [1:4] 13 0 7 0
+## ..$ npk : int [1:4] 9 0 3 0
+## ..$ operational_cost : int [1:4] 0 0 0 18
+## ..$ operational_labour : num [1:4] 0 0 0.203 0.5
+## ..$ residue_burnt : int [1:4] 6 0 0 0
+## ..$ residue_dm_content : num [1:4] 0.403 0.935 0.896 0.85
+## ..$ residue_dry_yield : num [1:4] 5.04 2.79 3 0
+## ..$ residue_fresh_yield : num [1:4] 12.5 2.99 3.5 2.22
+## ..$ residue_n : int [1:4] 0 0 0 0
+## ..$ residue_n_dm : num [1:4] 0.003 0.012 0.007 0.023
+## ..$ residue_removal : int [1:4] 5 0 0 0
+## ..$ slope : chr [1:4] "1" "1" "1" "1"
+## ..$ slope_length : int [1:4] 3 0 0 0
+## ..$ slope_p_factor : num [1:4] 0.11 0.11 0.11 0.11
+## ..$ trees_dhb : int [1:4] 0 0 0 0
+## ..$ trees_growth : int [1:4] 0 0 0 0
+## ..$ trees_ha : int [1:4] 0 0 0 0
+## ..$ trees_removal : int [1:4] 0 0 0 0
+## ..$ urea : int [1:4] 8 2 0 0
+## ..$ usda_value : int [1:4] 11134 16067 20314 0
+## ..$ water_content : num [1:4] 59.7 6.5 10.4 0
+## ..$ wfp_blue : num [1:4] 0 0 0.002 0
+## ..$ wfp_green : num [1:4] 0 0 0.199 0
+## ..$ wfp_grey : num [1:4] 0 0 0.002 0
+## $ ferlitizer :'data.frame': 1 obs. of 5 variables:
+## ..$ cost : int 2
+## ..$ fertilizer_code: chr "4"
+## ..$ fertilizer_desc: chr "Ammonium nitrate"
+## ..$ fraction : int 3
+## ..$ quantity : int 1
+## $ grassland_implevel : chr "High"
+## $ grassland_management : chr "Moderately degraded grassland, tropical montane"
+## $ land_oppcost : int 0
+## $ livestock :'data.frame': 2 obs. of 53 variables:
+## ..$ annual_growth : int [1:2] 3 9
+## ..$ annual_milk : int [1:2] 2 10
+## ..$ birth_interval : num [1:2] 1.17 0
+## ..$ body_weight : int [1:2] 600 300
+## ..$ carcass_fraction : num [1:2] 0.45 0.49
+## ..$ cp_grazing : int [1:2] 0 0
+## ..$ cp_growth : num [1:2] 0 0.4
+## ..$ cp_lactation : int [1:2] 0 0
+## ..$ cp_lactmilk : num [1:2] 0.09 0
+## ..$ cp_maintenance : num [1:2] 0.6 0.3
+## ..$ cp_pregnancy : int [1:2] 15 0
+## ..$ distance_to_pasture : int [1:2] 8 4
+## ..$ energy_eggcontent : int [1:2] 0 0
+## ..$ energy_meatcontent : int [1:2] 2200 2200
+## ..$ energy_milkcontent : int [1:2] 970 0
+## ..$ er_grazing : num [1:2] 2 1.5
+## ..$ er_growth : int [1:2] 0 50
+## ..$ er_lactation : int [1:2] 0 0
+## ..$ er_lactmilk : num [1:2] 5.5 0
+## ..$ er_maintenance : num [1:2] 60.6 36
+## ..$ er_pregnancy : int [1:2] 2000 0
+## ..$ fat_content : int [1:2] 4 0
+## ..$ grazing_displacement : int [1:2] 2 2
+## ..$ herd_composition : int [1:2] 1 11
+## ..$ ipcc_meth_ef_t1 : int [1:2] 68 46
+## ..$ ipcc_meth_ef_t2 : num [1:2] 6.5 6.5
+## ..$ ipcc_meth_exc : num [1:2] 0.47 0.34
+## ..$ ipcc_meth_man : int [1:2] 19 1
+## ..$ lactation_length : int [1:2] 0 0
+## ..$ litter_size : int [1:2] 0 0
+## ..$ livetype_code : chr [1:2] "3" "6"
+## ..$ livetype_desc : chr [1:2] "Cows (high productive)" "Steers/heifers (improved)"
+## ..$ lw_gain : int [1:2] 0 0
+## ..$ manure_in_field : int [1:2] 11 1
+## ..$ manure_in_non_roofed_enclosure: int [1:2] 10 2
+## ..$ manure_in_stable : int [1:2] 9 3
+## ..$ meat_price : int [1:2] 23 23
+## ..$ meat_product : chr [1:2] "beef" "beef"
+## ..$ milk_price : num [1:2] 1.04 1.04
+## ..$ milk_product : chr [1:2] "cow milk" "cow milk"
+## ..$ n_content : num [1:2] 0.029 0.029
+## ..$ oneoff_cost : int [1:2] 6400 3450
+## ..$ oneoff_labour : int [1:2] 0 0
+## ..$ operational_cost : int [1:2] 4000 1650
+## ..$ operational_labour : num [1:2] 50.7 7.6
+## ..$ proportion_growth : int [1:2] 0 0
+## ..$ protein_meatcontent : int [1:2] 26 26
+## ..$ protein_milkcontent : num [1:2] 3.7 0
+## ..$ time_in_non_roofed_enclosure : int [1:2] 5 7
+## ..$ time_in_offfarm_grazing : int [1:2] 7 5
+## ..$ time_in_onfarm_grazing : int [1:2] 6 6
+## ..$ time_in_stable : int [1:2] 4 8
+## ..$ water_requirement : int [1:2] 160 100
+## $ manure_onfarm_fraction : int 1
+## $ manure_sales_fraction : int 2
+## $ manureman_pasture : chr "Pasture / range / paddock"
+## $ manureman_stable : chr "Solid storage"
+## $ manureman_yard : chr "Dry slot"
+## $ purchased_bedding : int 6
+## $ purchased_compost : int 4
+## $ purchased_manure : int 3
+## $ purchased_organic_n : int 5
+## $ region : chr "ASIA"
+## $ seasons :'data.frame': 2 obs. of 2 variables:
+## ..$ season_length: int [1:2] 200 165
+## ..$ season_name : chr [1:2] "Dry season" "Wet season"
+## $ txt_annual_prec : int 1
+## $ txt_arable_tograssland : int 16
+## $ txt_cropland_orgmatter_ipcc : num 1.11
+## $ txt_cropland_system_ipcc : num 0.69
+## $ txt_cropland_tillage_ipcc : num 1.15
+## $ txt_et : int 9
+## $ txt_grassland_implevel_ipcc : num 1.11
+## $ txt_grassland_management_ipcc: num 0.96
+## $ txt_grassland_toarable : int 15
+## $ txt_rain_length : int 2
+## $ txt_soil_bulk : int 7
+## $ txt_soil_c : int 5
+## $ txt_soil_clay : int 6
+## $ txt_soil_depth : int 8
+## $ txt_soil_k_value : num 0.25
+## $ txt_soil_n : int 4
+## $ waste_consume_milk : int 0
+## $ waste_distribution_meat : int 0
+## $ waste_distribution_milk : int 0
+## $ waste_processing_meat : int 0
+## $ waste_processing_milk : int 0
+## $ waste_production_meat : int 0
+## $ waste_production_milk : int 0
+