From 10c1e45c74fa0f8d5599ce245175f170c6c1b568 Mon Sep 17 00:00:00 2001 From: Steward Date: Mon, 1 Jul 2024 15:14:18 +0300 Subject: [PATCH 01/28] data summary rmarkdown created --- data/explore_qt_json.html | 5582 +++++++++++++++++++++++++++++++++++++ data/explore_qt_json.rmd | 300 ++ data/explore_qt_json.tex | 1852 ++++++++++++ data/qt_example.json | 574 ++++ 4 files changed, 8308 insertions(+) create mode 100644 data/explore_qt_json.html create mode 100644 data/explore_qt_json.rmd create mode 100644 data/explore_qt_json.tex create mode 100644 data/qt_example.json diff --git a/data/explore_qt_json.html b/data/explore_qt_json.html new file mode 100644 index 0000000..e35e2a8 --- /dev/null +++ b/data/explore_qt_json.html @@ -0,0 +1,5582 @@ + + + + + + + + + + + + + + + +Exploration of CLEANED QT json file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ + + + + + + +
## Loading required package: pacman
+
+

Cleaned Data

+
+

Input data structure

+

The aim of this markdown document is to summarize the structure of +the .json object provided from the QT UI.

+
+

Load the json file into R

+
# 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")
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Summary of Level 1 of the JSON Object
field_nameclasslength
annual_precinteger1
arable_tograsslandinteger1
climate_zonecharacter1
climate_zone_2character1
cropland_orgmattercharacter1
cropland_orgmatter_ipccnumeric1
cropland_systemcharacter1
cropland_system_ipccnumeric1
cropland_tillagecharacter1
cropland_tillage_ipccinteger1
database_codecharacter1
etinteger1
farm_codecharacter1
farm_namecharacter1
feed_basketdata.frame2
feed_itemsdata.frame65
fertilizerdata.frame4
grassland_implevelcharacter1
grassland_implevel_ipccinteger1
grassland_managementcharacter1
grassland_management_ipccinteger1
grassland_toarableinteger1
livestockdata.frame59
purchased_beddinginteger1
purchased_compostinteger1
purchased_manureinteger1
purchased_organic_ninteger1
rain_lengthinteger1
regioncharacter1
seasonsdata.frame2
soil_bulkinteger1
soil_cinteger1
soil_clayinteger1
soil_depthinteger1
soil_descriptioncharacter1
soil_k_valuenumeric1
soil_nnumeric1
waste_consume_meatinteger1
waste_consume_milkinteger1
waste_distribution_meatinteger1
waste_distribution_milkinteger1
waste_processing_meatinteger1
waste_processing_milkinteger1
waste_production_meatinteger1
waste_production_milkinteger1
+
+
+

Simple fields

+
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")
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Summary of simple fields containing a single value
fieldvalueclass
annual_prec1500integer
arable_tograssland0integer
climate_zoneTemperatecharacter
climate_zone_2Warm Temperate Drycharacter
cropland_orgmatterLow, temperate/boreal, drycharacter
cropland_orgmatter_ipcc0.95numeric
cropland_systemLong term cultivated, temperate/boreal, drycharacter
cropland_system_ipcc0.8numeric
cropland_tillageFullcharacter
cropland_tillage_ipcc1integer
database_codebasecharacter
et1460integer
farm_code001character
farm_nametest 3character
grassland_implevelMediumcharacter
grassland_implevel_ipcc1integer
grassland_managementNominally managedcharacter
grassland_management_ipcc1integer
grassland_toarable0integer
purchased_bedding0integer
purchased_compost0integer
purchased_manure0integer
purchased_organic_n0integer
rain_length5integer
regionAFRICAcharacter
soil_bulk6integer
soil_c12integer
soil_clay45integer
soil_depth2integer
soil_descriptionLixisolcharacter
soil_k_value0.25numeric
soil_n3.5numeric
waste_consume_meat2integer
waste_consume_milk2integer
waste_distribution_meat3integer
waste_distribution_milk3integer
waste_processing_meat5integer
waste_processing_milk5integer
waste_production_meat3integer
waste_production_milk3integer
+
+
+

Livestock

+

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")
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Transposed livestock herd data
livetype_code_2livetype_code_1livetype_code_5
adult_weight8004000
annual_growth0090
annual_milk300015000
annual_wool000
birth_interval1.1666671.5000000.000000
body_weight600350200
body_weight_weaning000
body_weight_year_one000
carcass_fraction0.480.000.48
cp_grazing030
cp_growth0.00.00.4
cp_lactation520
cp_lactmilk0.090.090.00
cp_maintenance0.600.350.20
cp_pregnancy12.219.640.00
distance_to_pasture0.00.50.5
energy_eggcontent000
energy_meatcontent220022002200
energy_milkcontent9709700
fat_content4.35.80.0
grazing_displacement020
herd_composition250
ipcc_ef_category_t1Dairy cattleOther mature femaleOther mature female-grazing
ipcc_ef_category_t2Dairy cowsDairy cowsNon-dairy
ipcc_meth_man_categoryDairy cowsDairy cowsOther cattle
ipcc_n_exc_categoryDairy cattleDairy cattleOther cattle
lactation_length000
litter_size000
livetype_code215
livetype_descCattle - Cows (improved)Cattle - Cows (local)Cattle - Steers/heifers
lw_gain000
manure_in_field000
manure_in_non_roofed_enclosure000
manure_in_stable100
manure_onfarm_fraction100
manure_sales_fraction000
manureman_non_roofed_enclosureSolid storageSolid storageSolid storage
manureman_offfarm_grazingSolid storageSolid storageSolid storage
manureman_onfarm_grazingSolid storagePasture / range / paddockSolid storage
manureman_stableSolid storageSolid storageSolid storage
me_grazing2.02.01.5
me_growth0050
me_lactation520
me_lactmilk5.55.50.0
me_maintenance60.6154740.4595526.59148
me_pregnancy150012600
meat_productbeefbeefbeef
milk_productcow milkcow milkcow milk
n_content0.0290.0290.029
piglets_relying_on_milk000
proportion_growth000
protein_meatcontent262626
protein_milkcontent3.73.20.0
time_in_non_roofed_enclosure000
time_in_offfarm_grazing000
time_in_onfarm_grazing011
time_in_stable100
water_requirement14012080
work_hour000
+

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
+
+
+

Feed items

+

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")
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Transposed feed item data
feed_item_code_65feed_item_code_99feed_item_code_18
ammonia000
ammonium_nitrate000
ammonium_sulfate000
average_dbh25000
average_dbh2550000
average_dbh50000
categorycerealcereallegume
cp_content13.603.8518.40
cultivation_period000
cut_carry_fraction000
dap000
diameter_breast000
dm_content89.0091.8890.00
dry_yield30158
ecosystem_type
energy0360336
feed_item_code659918
feed_item_nameOats (Avena sativa) - grain IPRice (Oryza sativa) - strawCowpea (Vigna unguiculata) - crop residue
feed_type_code2459
feed_type_nameAvena sativaRiceCowpea
fraction_as_fertilizer110
fraction_as_manureNANANA
grassman111
grassman_change_factor111
grassman_descNominally managedNominally managedNominally managed
increase_dbh25000
increase_dbh2550000
increase_dbh50000
intercrop000
intercrop_fraction000
kc_initial0.101.050.15
kc_late0.550.750.60
kc_midseason1.101.201.05
land_cover771
land_cover_descCerealsCerealsDense forest
landcover_c_factor0.1500.1500.001
main_n0.01760.00900.0380
main_product_removal110
me_content12.2673245.6400009.880848
n_content0.20.20.0
n_fertilizerNANANA
n_solutions50300100
npk000
organic_amendment
residue_burnt000
residue_dry_yield006
residue_n0.00.20.0
residue_removal0.00.80.0
slope111
slope_descFlat (0-5%)Flat (0-5%)Flat (0-5%)
slope_length000
slope_p_factor0.110.110.11
source_typeMainResidueMain
time_horizon000
trees_dhb000
trees_growth000
trees_ha000
trees_ha_dbh25000
trees_ha_dbh2550000
trees_ha_dbh50000
trees_removal000
urea400700200
usda_value02045016062
water_content0.0012.8911.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")]
+
+ +
+
+
+

Fertilizer

+

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"
+
+
+

Seasons

+

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"
+
+
+

Feed basket

+

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.

+
+
Seasons
+

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"
+
+
+
Feed Basket
+

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"
+
+
+
+
+

R-project datasets

+
rda_files<-list.files(".rda")
+
+

GHG parameters

+

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")
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tables within ghg_names list
field_namedim
livestock_parameters18, 7
Table_10.126, 2
table_10.173, 2
table_10.1912, 3
table_10.213, 2
table_10.227, 4
table_10A_918, 3
table_11.1_&_table_11.310, 5
table_2.55, 2
fertilizer_table5, 5
table_5.11NULL
table_5.128, 4
table_5.135, 3
table_5.146, 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
+
+
Livestock_parameters
+
ghg_para$livestock_parameters
+
+ +
+
+
+
Fertilizer table
+
ghg_para$fertilizer_table
+
+ +
+
+
+
IPCC Tables
+
+
Table_10.12
+
kable(ghg_para$Table_10.12)
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
animal_category_ipccmethane_conversion_factor
Dairy cattle6.5
Other Cattle and Buffaloes that are primarily fed low +quality crop residues and byproducts6.5
Other Cattle or Buffalo - grazing6.5
sheep6.5
lambs (less 1 yr old)4.5
N/A0.0
+
+
+
table_10.17
+
kable(ghg_para$table_10.17)
+ + + + + + + + + + + + + + + + + + + + + +
systemmcf_by_average_annual_temperature
Pasture / range / paddock0.015
solid storage0.040
dry lot0.015
+
+
+
table_10.19
+
kable(ghg_para$table_10.19)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
anaimal_categoryContinentn_rate
Dairy cattleLATIN AMERICA0.48
Dairy cattleAFRICA0.60
Dairy cattleASIA0.47
Other cattleLATIN AMERICA0.37
Other cattleAFRICA0.63
Other cattleASIA0.34
SheepLATIN AMERICA1.17
SheepAFRICA1.17
SheepASIA1.17
PigsLATIN AMERICA1.64
PigsAFRICA1.64
PigsASIA0.50
+
+
+
table_10.21
+
kable(ghg_para$table_10.21)
+ + + + + + + + + + + + + + + + + + + + + +
systemdirect_nitrous_oxide_factor
Pasture / range / paddock0.010
solid storage0.005
dry lot0.020
+
+
+
table_10.22
+
kable(ghg_para$table_10.22)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
anaimal_categorysystemfraction_n_loss_mmsrange
Dairy cowspit storage0.28(10-40)
Dairy cowsdry lot0.20(10-35)
Dairy cowssolid storage0.30(10-40)
Dairy cowsdaily spread0.07(5-60)
Other cattledry lot0.30(20-50)
Other cattlesolid storage0.45(10-65)
Other cattledeep bedding0.30(20-40)
+
+
+
table_10A_9
+
kable(ghg_para$Table_10.12)
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
animal_category_ipccmethane_conversion_factor
Dairy cattle6.5
Other Cattle and Buffaloes that are primarily fed low +quality crop residues and byproducts6.5
Other Cattle or Buffalo - grazing6.5
sheep6.5
lambs (less 1 yr old)4.5
N/A0.0
+
+
+
table_11.1_&_table_11.3
+
kable(ghg_para$`table_11.1_&_table_11.3`)
+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
emission_factorsunitdescriptionn2o_emissions_from_managed_soilsuncertainty_range
EF1kg N2O-N (kg N input)-1emission factor for N2O emissions from N inputs0.01000.003-0.03
EF2kg N2O-N ha-1 yr-1emission factor for N2O emissions from drained/managed +organic soils16.00005 TO 48
EF3PRP-CPPkg N2O-N (kg N input)-1emission factor for N2O emissions from urine and dung N +deposited on pasture, range and paddock by grazing animals0.02000.007-0.06
EF3PRP-SOkg N2O-N (kg N input)-1emission factor for N2O emissions from urine and dung N +deposited on pasture, range and paddock by grazing animals0.01000.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 surfaces0.01000.002-0.05
EF5kg N2O-N (kg N leached and runoff)-1emission factor for N2O emissions from N leaching and +runoff0.00750.005-0.025
EF1Rkg N2O-N (kg N input)-1emission factor for N2O emission from N inputs for +flooded rice0.00300.000 - 0.006
FracGASFkg N volatilised (kg of N applied)-1fraction of synthetic fertilzer N that volatilises as +NH3 and NOx0.10000.03-0.3
FracGASMkg N volatilised (kg of N applied or deposited)-1fraction of applied organic N fertiliser materials +(FON) and of urine and dung N deposited by grazing animals (FPRP) that +volatilises as NH3 and NOx0.20000.05-0.5
FracLEACH-(H)kg N (kg of N additions)-1fraction of all N added to/mineralised in managed soils +in regions where leaching/runoff occurs that is lost through leaching +and runoff0.3000if sum of rain - sum of PE > soil water holding +capacity during rainy season
+
+
+
table_2.5
+
kable(ghg_para$table_2.5)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ghg_gasburnt_emission_factor
CO21515.00
CO92.00
CH42.70
N2O0.07
Nox2.50
+
+
+
table_5.12
+
kable(ghg_para$table_5.12)
+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ecosystemecosystem_typeaggregated_scaling_factor_wdisaggregated_scaling_factor_w
irrigatedIrrigated-Continuously flooded0.781.00
irrigatedintermittently flooded-single aeration0.780.60
irrigatedIntermittently flooded-multiple aeration0.780.52
Rain fed and deep waterRainfed-regular rainfed0.270.28
Rain fed and deep waterRainfed-drought prone0.270.25
Rain fed and deep waterRainfed-deep water0.270.31
UplandUpland0.000.00
NoneNone0.000.00
+
+
+
table_5.13
+
kable(ghg_para$table_5.13)
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
water_regimeaggregated_scaling_factor_pdisaggregated_scaling_factor_p
non-flooded pre-season <180 days( often in double +cropping of rice)1.221.00
non-flooded pre-season >180 days (single rice crop +following a dry fallow period)1.220.68
flooded pre-season (>30 days)1.221.90
flooded pre-season (<30 days)1.220.00
None0.000.00
+
+
+
table_5.14
+
kable(ghg_para$table_5.14)
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
organic_amendmentconversion_factor
straw incorporated in soil shortly (<30 days) before +cultivation1.00
straw incorporated in soil long (>30 days) before +cultivation0.29
Compost0.05
Farm yard manure0.14
green manure0.50
None0.00
+
+
+
+
+

Stock change

+

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
+
+
Grass factor variables
+

Grassland: landuse

+
x<-unlist(stock_change_para$grassland$landuse[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+ + + + + + + + + + + + + +
variablevalue
All1
+

Grassland: management

+
x<-unlist(stock_change_para$grassland$management[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
variablevalue
Nominally managed1.00
Moderately degraded grassland, temperate/boreal0.95
Moderately degraded grassland, tropical0.97
Moderately degraded grassland, tropical montane0.96
Severely degraded0.70
Improved grassland, temperate/boreal1.14
Improved grassland, tropical1.17
Improved grassland, tropical montane1.16
+

Grassland: input

+
x<-unlist(stock_change_para$grassland$input[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+ + + + + + + + + + + + + + + + + + + + + +
variablevalue
Medium1.00
High1.11
none1.00
+
+
+
Cropland factor variables
+

Cropland: landuse

+
x<-unlist(stock_change_para$cropland$landuse[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
variablevalue
Long term cultivated, temperate/boreal, dry0.80
Long term cultivated, temperate/boreal, moist0.69
Long term cultivated, tropical, dry0.58
Long term cultivated, tropical, moist/wet0.48
Long term cultivated, tropical montane, all0.64
Paddy rice1.10
Perennial/tree crop1.00
Set aside (< 20 years), temperate/boreal and +tropical, dry0.93
Set aside (< 20 years), temperate/boreal and +tropical, moist/wet0.82
Set aside (< 20 years),tropical montane, all0.88
+

Cropland: tillage

+
x<-unlist(stock_change_para$cropland$tillage[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
variablevalue
Full1.00
Reduced, temperate/boreal, dry1.02
Reduced, temperate/boreal, moist1.08
Reduced, tropical, dry1.09
Reduced, tropical, moist1.15
Reduced, tropical montane, all1.09
No-till, temperate/boreal, dry1.10
No-till, temperate/boreal, moist1.15
No-till, tropical, dry1.17
No-till, tropical, moist/wet1.22
No-till, tropical montane, all1.16
+

Cropland: input

+
x<-unlist(stock_change_para$cropland$input[[1]]$factor_variables)
+kable(data.frame(variable=names(x),value=as.numeric(x)))
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
variablevalue
Low, temperate/boreal, dry0.95
Low, temperate/boreal, moist0.92
Low, tropical, dry0.95
Low, tropical, moist0.92
Low, tropical montane, all0.94
Medium, all1.00
High w/OUT manure, temperate/boral and tropical, +dry1.04
High w/OUT manure, temperate/boral and tropical, +moist/wet1.11
High w/OUT manure, tropical montane1.08
High with manure, temperate/boral and tropical, +dry1.37
High with manure, temperate/boral and tropical, +moist/wet1.44
High with manure, tropical montane1.41
+
+
+
+

mufindi

+

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
+
+
+
+ + + +
+
+ +
+ + + + + + + + + + + + + + + + diff --git a/data/explore_qt_json.rmd b/data/explore_qt_json.rmd new file mode 100644 index 0000000..9d46a4d --- /dev/null +++ b/data/explore_qt_json.rmd @@ -0,0 +1,300 @@ +--- +title: "Exploration of CLEANED QT json file" +author: "Peter Steward" +date: "2024-07-01" +output: + pdf_document: + toc: true + toc_depth: 6 + html_document: + toc: true + toc_float: true + toc_depth: 6 + df_print: paged +--- + +```{r setup,echo=F} +knitr::opts_chunk$set(echo = TRUE) + +# Load packages ##### +if (!require("pacman")) { + install.packages("pacman") + require(pacman) +} + +if (!tinytex::is_tinytex()) { + p_load(tinytex) + tinytex::install_tinytex() +} + + +# Use p_load to install if not present and load the packages +p_load(jsonlite,data.table,rmarkdown,knitr) +``` + +## Cleaned Data +### Input data structure + +The aim of this markdown document is to summarize the structure of the .json object provided from the QT UI. + +#### Load the json file into R +```{r load data,echo=T} +# 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") +``` + +#### Simple fields +```{r simple fields,echo=T} +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") +``` + +#### Livestock +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. +```{r livestock 0 ,echo=T} +livestock<-t(json_data$livestock) # Transpose +colnames(livestock)<-paste0("livetype_code_",json_data$livestock$livetype_code) +kable(livestock,caption="Transposed livestock herd data") +``` + +The `livestock` are linked to the `feed_basket$feeds` tables by the `livetype_code` keyfield. +```{r livestock 1 ,echo=T} +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 +``` + +#### Feed items +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. +```{r feed items 0 ,echo=T} +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") +``` + +The `feed_items` are linked to the `feed_basket$feeds` tables by the `feed_item_code` field. +```{r feed items 1 ,echo=T} +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 +``` + +Other keyfields include `feed_type_code` and `land_cover`: +```{r feed items 2 ,echo=T} +json_data$feed_items[,c("feed_type_code","feed_type_name","land_cover","land_cover_desc")] +``` + +#### Fertilizer +The fertilizer level of the json list is a data.table that contains information about the production management and context of feed production. + +```{r fertilizer 1,echo=T} +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 + +```{r fertilizer 2,echo=T} +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))) + +# Find matching columns +fi_cols[fi_cols %in% fertilizers] +``` + +#### Seasons +The seasons level is simple table that records the length of each season (adding up to 365 days max). +```{r seasons 1,echo=T} +json_data$seasons +``` + +The `season_name` field is the key field that links to the feed basket. +```{r seasons 2 ,echo=T} +json_data$feed_basket$season_name +``` + +#### Feed basket +The feed basket data contains `r length(json_data$feed_basket)` levels called +`r paste(names(json_data$feed_basket),collapse=" and ")`. These levels appear to be the same length: `r paste0(names(json_data$feed_basket)," = ", sapply(json_data$feed_basket,length))`. + +##### Seasons +The season object is simple, being a vector containing the names of the seasons: +```{r feed basket seasons,echo=T} +json_data$feed_basket$season_name +``` + +##### Feed Basket +The feed basket object is the most structurally complex element of the input json data containing several levels of nesting. +```{r feed basket feeds 1 ,echo=T} +str(json_data$feed_basket$feeds) +``` + +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`. + +```{r feed basket feeds 0 ,echo=T} +json_data$feed_basket$feeds[[1]] +``` + +The livestock field in the feed basket table contains a list with `r length(json_data$feed_basket$feeds[[1]]$livestock)` 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. + +```{r feed basket feeds 2 ,echo=T} +json_data$feed_basket$feeds[[1]]$livestock +``` + +The first element of the livestock list contains no further nesting: +```{r feed basket feeds 3 ,echo=T} +str(json_data$feed_basket$feeds[[1]]$livestock[[1]]) +``` + +### R-project datasets +```{r list rda files} +rda_files<-list.files(".rda") +``` + +#### GHG parameters +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. +```{r ghg_para 1} +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") +``` +The exception is `ghg_para$table_5.11` which is a list: +```{r ghg_para 2} +ghg_para$table_5.11 +``` + +##### Livestock_parameters +```{r ghg_para 3} +ghg_para$livestock_parameters +``` + +##### Fertilizer table +```{r ghg_para 4} +ghg_para$fertilizer_table +``` + +##### IPCC Tables + +###### Table_10.12 +```{r ghg_para Table_10.12} +kable(ghg_para$Table_10.12) +``` + +###### table_10.17 +```{r ghg_para table_10.17} +kable(ghg_para$table_10.17) +``` + +###### table_10.19 +```{r ghg_para table_10.19} +kable(ghg_para$table_10.19) +``` + +###### table_10.21 +```{r ghg_para table_10.21} +kable(ghg_para$table_10.21) +``` + +###### table_10.22 +```{r ghg_para table_10.22} +kable(ghg_para$table_10.22) +``` + +###### table_10A_9 +```{r ghg_para table_10A_9} +kable(ghg_para$Table_10.12) +``` + +###### table_11.1_&_table_11.3 +```{r ghg_para table_11.1_&_table_11.3} +kable(ghg_para$`table_11.1_&_table_11.3`) +``` + +###### table_2.5 +```{r ghg_para table_2.5} +kable(ghg_para$table_2.5) +``` + +###### table_5.12 +```{r ghg_para table_5.12} +kable(ghg_para$table_5.12) +``` + +###### table_5.13 +```{r ghg_para table_5.13} +kable(ghg_para$table_5.13) +``` + +###### table_5.14 +```{r ghg_para table_5.14} +kable(ghg_para$table_5.14) +``` + +#### Stock change +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. + +```{r stock change 1} +load("stock_change_para.rda") +str(stock_change_para) +``` + +##### Grass factor variables +**Grassland: landuse** +```{r stock change grass 1} +x<-unlist(stock_change_para$grassland$landuse[[1]]$factor_variables) +kable(data.frame(variable=names(x),value=as.numeric(x))) +``` +**Grassland: management** +```{r stock change grass 2} +x<-unlist(stock_change_para$grassland$management[[1]]$factor_variables) +kable(data.frame(variable=names(x),value=as.numeric(x))) + +``` +**Grassland: input** +```{r stock change grass 3} +x<-unlist(stock_change_para$grassland$input[[1]]$factor_variables) +kable(data.frame(variable=names(x),value=as.numeric(x))) +``` + +##### Cropland factor variables +**Cropland: landuse** +```{r stock change cropland 1} +x<-unlist(stock_change_para$cropland$landuse[[1]]$factor_variables) +kable(data.frame(variable=names(x),value=as.numeric(x))) +``` +**Cropland: tillage** +```{r stock change cropland 2} +x<-unlist(stock_change_para$cropland$tillage[[1]]$factor_variables) +kable(data.frame(variable=names(x),value=as.numeric(x))) +``` +**Cropland: input** +```{r stock change cropland 3} +x<-unlist(stock_change_para$cropland$input[[1]]$factor_variables) +kable(data.frame(variable=names(x),value=as.numeric(x))) +``` + +#### mufindi +The mufindi object (`cleaned/data/mufindi.rda`) appears to be an input dataset similar to the `qt_example.json` file. +```{r mufindi 1} +load("mufindi.rda") +str(mufindi) +``` diff --git a/data/explore_qt_json.tex b/data/explore_qt_json.tex new file mode 100644 index 0000000..e2f16eb --- /dev/null +++ b/data/explore_qt_json.tex @@ -0,0 +1,1852 @@ +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode}{hyperref} +\PassOptionsToPackage{hyphens}{url} +% +\documentclass[ +]{article} +\usepackage{amsmath,amssymb} +\usepackage{lmodern} +\usepackage{iftex} +\ifPDFTeX + \usepackage[T1]{fontenc} + \usepackage[utf8]{inputenc} + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex + \usepackage{unicode-math} + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} +\fi +% Use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{6pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +\usepackage{xcolor} +\usepackage[margin=1in]{geometry} +\usepackage{color} +\usepackage{fancyvrb} +\newcommand{\VerbBar}{|} +\newcommand{\VERB}{\Verb[commandchars=\\\{\}]} +\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} +% Add ',fontsize=\small' for more characters per line +\usepackage{framed} +\definecolor{shadecolor}{RGB}{248,248,248} +\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}} +\newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{#1}} +\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{#1}} +\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} +\newcommand{\BuiltInTok}[1]{#1} +\newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} +\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} +\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{#1}} +\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} +\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{#1}}} +\newcommand{\ExtensionTok}[1]{#1} +\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} +\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\ImportTok}[1]{#1} +\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} +\newcommand{\NormalTok}[1]{#1} +\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{#1}}} +\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{#1}} +\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} +\newcommand{\RegionMarkerTok}[1]{#1} +\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} +\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} +\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} +\usepackage{longtable,booktabs,array} +\usepackage{calc} % for calculating minipage widths +% Correct order of tables after \paragraph or \subparagraph +\usepackage{etoolbox} +\makeatletter +\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} +\makeatother +% Allow footnotes in longtable head/foot +\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} +\makesavenoteenv{longtable} +\usepackage{graphicx} +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} +\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} +\makeatother +% Scale images if necessary, so that they will not overflow the page +% margins by default, and it is still possible to overwrite the defaults +% using explicit options in \includegraphics[width, height, ...]{} +\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +% Set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother +\setlength{\emergencystretch}{3em} % prevent overfull lines +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures +\fi +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\urlstyle{same} % disable monospaced font for URLs +\hypersetup{ + pdftitle={Exploration of CLEANED QT json file}, + pdfauthor={Peter Steward}, + hidelinks, + pdfcreator={LaTeX via pandoc}} + +\title{Exploration of CLEANED QT json file} +\author{Peter Steward} +\date{2024-07-01} + +\begin{document} +\maketitle + +{ +\setcounter{tocdepth}{6} +\tableofcontents +} +\begin{verbatim} +## Loading required package: pacman +\end{verbatim} + +\hypertarget{cleaned-data}{% +\subsection{Cleaned Data}\label{cleaned-data}} + +\hypertarget{input-data-structure}{% +\subsubsection{Input data structure}\label{input-data-structure}} + +The aim of this markdown document is to summarize the structure of the +.json object provided from the QT UI. + +\hypertarget{load-the-json-file-into-r}{% +\paragraph{Load the json file into R}\label{load-the-json-file-into-r}} + +\begin{Shaded} +\begin{Highlighting}[] +\CommentTok{\# Read in example json file \#\#\#\#\#} +\NormalTok{json\_data }\OtherTok{\textless{}{-}} \FunctionTok{fromJSON}\NormalTok{(}\StringTok{"qt\_example.json"}\NormalTok{)} + +\CommentTok{\# Summarize level 1 of the list} +\NormalTok{json\_names}\OtherTok{\textless{}{-}}\FunctionTok{data.table}\NormalTok{(}\AttributeTok{field\_name=}\FunctionTok{names}\NormalTok{(json\_data),} + \AttributeTok{class=}\FunctionTok{sapply}\NormalTok{(json\_data,base}\SpecialCharTok{::}\NormalTok{class),} + \AttributeTok{length=}\FunctionTok{sapply}\NormalTok{(json\_data,length))} + +\FunctionTok{kable}\NormalTok{(json\_names, }\AttributeTok{caption =} \StringTok{"Summary of Level 1 of the JSON Object"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}llr@{}} +\caption{Summary of Level 1 of the JSON Object}\tabularnewline +\toprule() +field\_name & class & length \\ +\midrule() +\endfirsthead +\toprule() +field\_name & class & length \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +\hypertarget{simple-fields}{% +\paragraph{Simple fields}\label{simple-fields}} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{simple\_fields}\OtherTok{\textless{}{-}}\NormalTok{json\_names[class}\SpecialCharTok{!=}\StringTok{"data.frame"} \SpecialCharTok{\&}\NormalTok{ length}\SpecialCharTok{==}\DecValTok{1}\NormalTok{,field\_name]} +\NormalTok{simple\_fields}\OtherTok{\textless{}{-}}\NormalTok{json\_data[json\_names[class}\SpecialCharTok{!=}\StringTok{"data.frame"} \SpecialCharTok{\&}\NormalTok{ length}\SpecialCharTok{==}\DecValTok{1}\NormalTok{,field\_name]]} +\NormalTok{simple\_fields}\OtherTok{\textless{}{-}}\FunctionTok{data.table}\NormalTok{(}\AttributeTok{field=}\FunctionTok{names}\NormalTok{(simple\_fields),} + \AttributeTok{value=}\FunctionTok{unlist}\NormalTok{(simple\_fields),} + \AttributeTok{class=}\NormalTok{json\_names[class}\SpecialCharTok{!=}\StringTok{"data.frame"} \SpecialCharTok{\&}\NormalTok{ length}\SpecialCharTok{==}\DecValTok{1}\NormalTok{,class])} +\FunctionTok{kable}\NormalTok{(simple\_fields, }\AttributeTok{caption =} \StringTok{"Summary of simple fields containing a single value"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3250}} + >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.5500}} + >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.1250}}@{}} +\caption{Summary of simple fields containing a single +value}\tabularnewline +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +field +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +value +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +class +\end{minipage} \\ +\midrule() +\endfirsthead +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +field +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +value +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +class +\end{minipage} \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +\hypertarget{livestock}{% +\paragraph{Livestock}\label{livestock}} + +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. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{livestock}\OtherTok{\textless{}{-}}\FunctionTok{t}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{livestock) }\CommentTok{\# Transpose} +\FunctionTok{colnames}\NormalTok{(livestock)}\OtherTok{\textless{}{-}}\FunctionTok{paste0}\NormalTok{(}\StringTok{"livetype\_code\_"}\NormalTok{,json\_data}\SpecialCharTok{$}\NormalTok{livestock}\SpecialCharTok{$}\NormalTok{livetype\_code)} +\FunctionTok{kable}\NormalTok{(livestock,}\AttributeTok{caption=}\StringTok{"Transposed livestock herd data"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2818}} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2273}} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2364}} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2545}}@{}} +\caption{Transposed livestock herd data}\tabularnewline +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +livetype\_code\_2 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +livetype\_code\_1 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +livetype\_code\_5 +\end{minipage} \\ +\midrule() +\endfirsthead +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +livetype\_code\_2 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +livetype\_code\_1 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +livetype\_code\_5 +\end{minipage} \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +The \texttt{livestock} are linked to the \texttt{feed\_basket\$feeds} +tables by the \texttt{livetype\_code} keyfield. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{livestock[,}\FunctionTok{c}\NormalTok{(}\StringTok{"livetype\_code"}\NormalTok{,}\StringTok{"livetype\_desc"}\NormalTok{)] }\CommentTok{\# Codes in the feed\_items table} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## livetype_code livetype_desc +## 1 2 Cattle - Cows (improved) +## 2 1 Cattle - Cows (local) +## 3 5 Cattle - Steers/heifers +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{lapply}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds,}\StringTok{"[["}\NormalTok{,}\StringTok{"livestock"}\NormalTok{) }\CommentTok{\# Codes in the feed\_basket tables} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [[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 +\end{verbatim} + +\hypertarget{feed-items}{% +\paragraph{Feed items}\label{feed-items}} + +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. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{feed\_items}\OtherTok{\textless{}{-}}\FunctionTok{t}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_items) }\CommentTok{\# Transpose} +\FunctionTok{colnames}\NormalTok{(feed\_items)}\OtherTok{\textless{}{-}}\FunctionTok{paste0}\NormalTok{(}\StringTok{"feed\_item\_code\_"}\NormalTok{,json\_data}\SpecialCharTok{$}\NormalTok{feed\_items}\SpecialCharTok{$}\NormalTok{feed\_item\_code)} +\FunctionTok{kable}\NormalTok{(feed\_items,}\AttributeTok{caption=}\StringTok{"Transposed feed item data"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.1855}} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2258}} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.3387}}@{}} +\caption{Transposed feed item data}\tabularnewline +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +feed\_item\_code\_65 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +feed\_item\_code\_99 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +feed\_item\_code\_18 +\end{minipage} \\ +\midrule() +\endfirsthead +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +feed\_item\_code\_65 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +feed\_item\_code\_99 +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +feed\_item\_code\_18 +\end{minipage} \\ +\midrule() +\endhead +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 & & & \\ +\bottomrule() +\end{longtable} + +The \texttt{feed\_items} are linked to the \texttt{feed\_basket\$feeds} +tables by the \texttt{feed\_item\_code} field. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_items[,}\FunctionTok{c}\NormalTok{(}\StringTok{"feed\_item\_code"}\NormalTok{,}\StringTok{"feed\_item\_name"}\NormalTok{)] }\CommentTok{\# Codes in the feed\_items table} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## feed_item_code feed_item_name +## 1 65 Oats (Avena sativa) - grain IP +## 2 99 Rice (Oryza sativa) - straw +## 3 18 Cowpea (Vigna unguiculata) - crop residue +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{lapply}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds,}\StringTok{"[["}\NormalTok{,}\StringTok{"feed\_item\_code"}\NormalTok{) }\CommentTok{\# Codes in the feed\_basket tables} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [[1]] +## [1] "65" "99" "18" +## +## [[2]] +## [1] "65" "99" "18" +\end{verbatim} + +Other keyfields include \texttt{feed\_type\_code} and +\texttt{land\_cover}: + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_items[,}\FunctionTok{c}\NormalTok{(}\StringTok{"feed\_type\_code"}\NormalTok{,}\StringTok{"feed\_type\_name"}\NormalTok{,}\StringTok{"land\_cover"}\NormalTok{,}\StringTok{"land\_cover\_desc"}\NormalTok{)]} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## feed_type_code feed_type_name land_cover land_cover_desc +## 1 2 Avena sativa 7 Cereals +## 2 45 Rice 7 Cereals +## 3 9 Cowpea 1 Dense forest +\end{verbatim} + +\hypertarget{fertilizer}{% +\paragraph{Fertilizer}\label{fertilizer}} + +The fertilizer level of the json list is a data.table that contains +information about the production management and context of feed +production. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{fertilizer} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## fertilizer_code fertilizer_desc fraction percentage_n +## 1 4 Ammonium nitrate 0 12 +## 2 6 N solutions 0 10 +\end{verbatim} + +The values in \texttt{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 + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{fertilizers}\OtherTok{\textless{}{-}}\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{fertilizer}\SpecialCharTok{$}\NormalTok{fertilizer\_desc} +\NormalTok{fi\_cols}\OtherTok{\textless{}{-}}\FunctionTok{colnames}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_items)} + +\CommentTok{\# Reformat fertilizer names to match column names in the feed\_items table} +\NormalTok{(fertilizers}\OtherTok{\textless{}{-}}\FunctionTok{gsub}\NormalTok{(}\StringTok{" "}\NormalTok{,}\StringTok{"\_"}\NormalTok{,}\FunctionTok{tolower}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{fertilizer}\SpecialCharTok{$}\NormalTok{fertilizer\_desc)))} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] "ammonium_nitrate" "n_solutions" +\end{verbatim} + +\begin{Shaded} +\begin{Highlighting}[] +\CommentTok{\# Find matching columns} +\NormalTok{fi\_cols[fi\_cols }\SpecialCharTok{\%in\%}\NormalTok{ fertilizers]} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] "ammonium_nitrate" "n_solutions" +\end{verbatim} + +\hypertarget{seasons}{% +\paragraph{Seasons}\label{seasons}} + +The seasons level is simple table that records the length of each season +(adding up to 365 days max). + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{seasons} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## season_length season_name +## 1 200 Wet season +## 2 165 Dry season +\end{verbatim} + +The \texttt{season\_name} field is the key field that links to the feed +basket. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{season\_name} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] "Wet season" "Dry season" +\end{verbatim} + +\hypertarget{feed-basket}{% +\paragraph{Feed basket}\label{feed-basket}} + +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. + +\hypertarget{seasons-1}{% +\subparagraph{Seasons}\label{seasons-1}} + +The season object is simple, being a vector containing the names of the +seasons: + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{season\_name} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [1] "Wet season" "Dry season" +\end{verbatim} + +\hypertarget{feed-basket-1}{% +\subparagraph{Feed Basket}\label{feed-basket-1}} + +The feed basket object is the most structurally complex element of the +input json data containing several levels of nesting. + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{str}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## 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" +\end{verbatim} + +Each feed basket table (e.g., +\texttt{json\_data\$feed\_basket\$feeds{[}{[}1{]}{]}}) is constructed +using key fields that describe feed items found in the +\texttt{json\_data\$feed\_items\ table}, specifically +\texttt{feed\_item\_code} and \texttt{feed\_type\_code.} The feeds are +then allocated to the herd elements described in the +\texttt{json\_data\$livestock\ table}. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds[[}\DecValTok{1}\NormalTok{]]} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## feed_item_code feed_type_code livestock +## 1 65 2 40, 17, 40, 2, 1, 5 +## 2 99 45 25, 43, 20, 2, 1, 5 +## 3 18 9 35, 40, 40, 2, 1, 5 +\end{verbatim} + +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 \texttt{livetype\_code} field serving as the key field linking the +two tables. + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{livestock} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## [[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 +\end{verbatim} + +The first element of the livestock list contains no further nesting: + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{str}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{livestock[[}\DecValTok{1}\NormalTok{]])} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## 'data.frame': 3 obs. of 2 variables: +## $ allocation : int 40 17 40 +## $ livetype_code: chr "2" "1" "5" +\end{verbatim} + +\hypertarget{r-project-datasets}{% +\subsubsection{R-project datasets}\label{r-project-datasets}} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{rda\_files}\OtherTok{\textless{}{-}}\FunctionTok{list.files}\NormalTok{(}\StringTok{".rda"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\hypertarget{ghg-parameters}{% +\paragraph{GHG parameters}\label{ghg-parameters}} + +The ghg para object (\texttt{cleaned/data/ghg\_para.rda}) is a list of +tables that appear to refer to IPCC equations, livestock parameters and +fertilizers. + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{load}\NormalTok{(}\StringTok{"ghg\_para.rda"}\NormalTok{)} + +\CommentTok{\# Summarize level 1 of the list} +\NormalTok{ghg\_names}\OtherTok{\textless{}{-}}\FunctionTok{data.table}\NormalTok{(}\AttributeTok{field\_name=}\FunctionTok{names}\NormalTok{(ghg\_para),} + \AttributeTok{dim=}\FunctionTok{sapply}\NormalTok{(ghg\_para,dim))} + +\FunctionTok{kable}\NormalTok{(ghg\_names,}\AttributeTok{caption=}\StringTok{"Tables within ghg\_names list"}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}ll@{}} +\caption{Tables within ghg\_names list}\tabularnewline +\toprule() +field\_name & dim \\ +\midrule() +\endfirsthead +\toprule() +field\_name & dim \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +The exception is \texttt{ghg\_para\$table\_5.11} which is a list: + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.11} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## $baseline_emission_factor +## [1] 1.3 +## +## $soil_type_scaling_factor +## [1] 1 +\end{verbatim} + +\hypertarget{livestock_parameters}{% +\subparagraph{Livestock\_parameters}\label{livestock_parameters}} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{ghg\_para}\SpecialCharTok{$}\NormalTok{livestock\_parameters} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## livestock_category_name Urinary_energy_frac ash_content +## 1 Cows (local) 0.04 0.08 +## 2 Cows (improved) 0.04 0.08 +## 3 Cows (high productive) 0.04 0.08 +## 4 Adult cattle - male 0.04 0.08 +## 5 Steers/heifers 0.04 0.08 +## 6 Steers/heifers (improved) 0.04 0.08 +## 7 Calves 0.04 0.08 +## 8 Calves (improved) 0.04 0.08 +## 9 Buffalo (dairy) 0.04 0.08 +## 10 Buffalo steers/heifers 0.04 0.08 +## 11 Buffalo calves 0.04 0.08 +## 12 Sheep/Goats - Ewes/Does 0.04 0.08 +## 13 Sheep/Goats - Breeding Rams/Bucks 0.04 0.08 +## 14 Sheep/Goats - Fattening Rams/Bucks 0.04 0.08 +## 15 Sheep/Goats - Lambs/Kids 0.04 0.08 +## 16 Pigs - lactating/pregnant sows 0.02 0.08 +## 17 Pigs - dry sows/boars 0.02 0.08 +## 18 Pigs - growers 0.02 0.08 +## IPCC Category - methane emissions enteric fermentation - Tier 1 +## 1 Other mature female +## 2 Dairy cattle +## 3 Dairy cattle +## 4 Other draft bull +## 5 Other Mature female-grazing +## 6 Other Mature female-grazing +## 7 Other young +## 8 Other young +## 9 Other draft bull +## 10 Other young +## 11 Other young +## 12 Goats +## 13 Goats +## 14 Goats +## 15 Goats +## 16 Pigs +## 17 Pigs +## 18 Pigs +## IPCC Category - methane emissions enteric fermentation - Tier 2 +## 1 Dairy cattle +## 2 Dairy cattle +## 3 Dairy cattle +## 4 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts +## 5 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts +## 6 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts +## 7 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts +## 8 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts +## 9 Other Cattle or Buffalo - grazing +## 10 Other Cattle or Buffalo - grazing +## 11 Other Cattle or Buffalo � grazing +## 12 Sheep +## 13 Sheep +## 14 Sheep +## 15 lambs (less 1 yr old) +## 16 N/A +## 17 N/A +## 18 N/A +## IPCC Category - methane emissions manure - Tier 1 +## 1 Dairy cows +## 2 Dairy cows +## 3 Dairy cows +## 4 Other cattle +## 5 Other cattle +## 6 Other cattle +## 7 Other cattle +## 8 Other cattle +## 9 Buffalo +## 10 Buffalo +## 11 Buffalo +## 12 Sheep +## 13 Sheep +## 14 Sheep +## 15 Sheep +## 16 Swine +## 17 Swine +## 18 Swine +## IPCC-Category - Default N-excretion rates Tier 1 +## 1 Dairy cattle +## 2 Dairy cattle +## 3 Dairy cattle +## 4 Other cattle +## 5 Other cattle +## 6 Other cattle +## 7 Other cattle +## 8 Other cattle +## 9 Other cattle +## 10 Other cattle +## 11 Other cattle +## 12 Sheep +## 13 Sheep +## 14 sheep +## 15 sheep +## 16 pigs +## 17 pigs +## 18 pigs +\end{verbatim} + +\hypertarget{fertilizer-table}{% +\subparagraph{Fertilizer table}\label{fertilizer-table}} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{ghg\_para}\SpecialCharTok{$}\NormalTok{fertilizer\_table} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## fertilizer_type percent_N emission_factor_kg_CO2eq_per_kg N +## 1 DAP 18 2.80 +## 2 CAN 27 8.66 +## 3 Urea NA NA +## 4 NPK NA NA +## 5 Lime-application NA NA +## kg_N_per_1_kg_of_fertilzer emissions_factor_kg_CO2_eq_per_kg_fertilizer +## 1 0.18 0.5040 +## 2 0.27 2.3382 +## 3 NA 0.7850 +## 4 NA 1.2100 +## 5 NA NA +\end{verbatim} + +\hypertarget{ipcc-tables}{% +\subparagraph{IPCC Tables}\label{ipcc-tables}} + +Table\_10.12 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{Table\_10}\FloatTok{.12}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.7778}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.2222}}@{}} +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +animal\_category\_ipcc +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +methane\_conversion\_factor +\end{minipage} \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +table\_10.17 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.17}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +system & mcf\_by\_average\_annual\_temperature \\ +\midrule() +\endhead +Pasture / range / paddock & 0.015 \\ +solid storage & 0.040 \\ +dry lot & 0.015 \\ +\bottomrule() +\end{longtable} + +table\_10.19 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.19}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}llr@{}} +\toprule() +anaimal\_category & Continent & n\_rate \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +table\_10.21 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.21}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +system & direct\_nitrous\_oxide\_factor \\ +\midrule() +\endhead +Pasture / range / paddock & 0.010 \\ +solid storage & 0.005 \\ +dry lot & 0.020 \\ +\bottomrule() +\end{longtable} + +table\_10.22 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.22}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}llrl@{}} +\toprule() +anaimal\_category & system & fraction\_n\_loss\_mms & range \\ +\midrule() +\endhead +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) \\ +\bottomrule() +\end{longtable} + +table\_10A\_9 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{Table\_10}\FloatTok{.12}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.7778}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.2222}}@{}} +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +animal\_category\_ipcc +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +methane\_conversion\_factor +\end{minipage} \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +table\_11.1\_\&\_table\_11.3 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\StringTok{\textasciigrave{}}\AttributeTok{table\_11.1\_\&\_table\_11.3}\StringTok{\textasciigrave{}}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.0521}} + >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.1534}} + >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.4571}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.1012}} + >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.2362}}@{}} +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +emission\_factors +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +unit +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +description +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +n2o\_emissions\_from\_managed\_soils +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +uncertainty\_range +\end{minipage} \\ +\midrule() +\endhead +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 \textgreater{} soil water holding capacity during rainy season \\ +\bottomrule() +\end{longtable} + +table\_2.5 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_2}\FloatTok{.5}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +ghg\_gas & burnt\_emission\_factor \\ +\midrule() +\endhead +CO2 & 1515.00 \\ +CO & 92.00 \\ +CH4 & 2.70 \\ +N2O & 0.07 \\ +Nox & 2.50 \\ +\bottomrule() +\end{longtable} + +table\_5.12 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.12}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.1935}} + >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.3306}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2258}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}}@{}} +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +ecosystem +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright +ecosystem\_type +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +aggregated\_scaling\_factor\_w +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +disaggregated\_scaling\_factor\_w +\end{minipage} \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +table\_5.13 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.13}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.5816}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.1986}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.2199}}@{}} +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +water\_regime +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +aggregated\_scaling\_factor\_p +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +disaggregated\_scaling\_factor\_p +\end{minipage} \\ +\midrule() +\endhead +non-flooded pre-season \textless180 days( often in double cropping of +rice) & 1.22 & 1.00 \\ +non-flooded pre-season \textgreater180 days (single rice crop following +a dry fallow period) & 1.22 & 0.68 \\ +flooded pre-season (\textgreater30 days) & 1.22 & 1.90 \\ +flooded pre-season (\textless30 days) & 1.22 & 0.00 \\ +None & 0.00 & 0.00 \\ +\bottomrule() +\end{longtable} + +table\_5.14 + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.14}\NormalTok{)} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.7831}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.2169}}@{}} +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +organic\_amendment +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +conversion\_factor +\end{minipage} \\ +\midrule() +\endhead +straw incorporated in soil shortly (\textless30 days) before cultivation +& 1.00 \\ +straw incorporated in soil long (\textgreater30 days) before cultivation +& 0.29 \\ +Compost & 0.05 \\ +Farm yard manure & 0.14 \\ +green manure & 0.50 \\ +None & 0.00 \\ +\bottomrule() +\end{longtable} + +\hypertarget{stock-change}{% +\paragraph{Stock change}\label{stock-change}} + +The stock change object (\texttt{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. + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{load}\NormalTok{(}\StringTok{"stock\_change\_para.rda"}\NormalTok{)} +\FunctionTok{str}\NormalTok{(stock\_change\_para)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## 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 +\end{verbatim} + +\hypertarget{grass-factor-variables}{% +\subparagraph{Grass factor variables}\label{grass-factor-variables}} + +\textbf{Grassland: landuse} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{grassland}\SpecialCharTok{$}\NormalTok{landuse[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} +\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +variable & value \\ +\midrule() +\endhead +All & 1 \\ +\bottomrule() +\end{longtable} + +\textbf{Grassland: management} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{grassland}\SpecialCharTok{$}\NormalTok{management[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} +\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +variable & value \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +\textbf{Grassland: input} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{grassland}\SpecialCharTok{$}\NormalTok{input[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} +\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +variable & value \\ +\midrule() +\endhead +Medium & 1.00 \\ +High & 1.11 \\ +none & 1.00 \\ +\bottomrule() +\end{longtable} + +\hypertarget{cropland-factor-variables}{% +\subparagraph{Cropland factor +variables}\label{cropland-factor-variables}} + +\textbf{Cropland: landuse} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{cropland}\SpecialCharTok{$}\NormalTok{landuse[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} +\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.9155}} + >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.0845}}@{}} +\toprule() +\begin{minipage}[b]{\linewidth}\raggedright +variable +\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft +value +\end{minipage} \\ +\midrule() +\endhead +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 (\textless{} 20 years), temperate/boreal and tropical, dry & +0.93 \\ +Set aside (\textless{} 20 years), temperate/boreal and tropical, +moist/wet & 0.82 \\ +Set aside (\textless{} 20 years),tropical montane, all & 0.88 \\ +\bottomrule() +\end{longtable} + +\textbf{Cropland: tillage} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{cropland}\SpecialCharTok{$}\NormalTok{tillage[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} +\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +variable & value \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +\textbf{Cropland: input} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{cropland}\SpecialCharTok{$}\NormalTok{input[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} +\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} +\end{Highlighting} +\end{Shaded} + +\begin{longtable}[]{@{}lr@{}} +\toprule() +variable & value \\ +\midrule() +\endhead +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 \\ +\bottomrule() +\end{longtable} + +\hypertarget{mufindi}{% +\paragraph{mufindi}\label{mufindi}} + +The mufindi object (\texttt{cleaned/data/mufindi.rda}) appears to be an +input dataset similar to the \texttt{qt\_example.json} file. + +\begin{Shaded} +\begin{Highlighting}[] +\FunctionTok{load}\NormalTok{(}\StringTok{"mufindi.rda"}\NormalTok{)} +\FunctionTok{str}\NormalTok{(mufindi)} +\end{Highlighting} +\end{Shaded} + +\begin{verbatim} +## 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 +\end{verbatim} + +\end{document} diff --git a/data/qt_example.json b/data/qt_example.json new file mode 100644 index 0000000..49a6ec8 --- /dev/null +++ b/data/qt_example.json @@ -0,0 +1,574 @@ +{ + "annual_prec": 1500, + "arable_tograssland": 0, + "climate_zone": "Temperate", + "climate_zone_2": "Warm Temperate Dry", + "cropland_orgmatter": "Low, temperate/boreal, dry", + "cropland_orgmatter_ipcc": 0.95, + "cropland_system": "Long term cultivated, temperate/boreal, dry", + "cropland_system_ipcc": 0.8, + "cropland_tillage": "Full", + "cropland_tillage_ipcc": 1, + "database_code": "base", + "et": 1460, + "farm_code": "001", + "farm_name": "test 3", + "feed_basket": [ + { + "feeds": [ + { + "feed_item_code": "65", + "feed_type_code": "2", + "livestock": [ + { + "allocation": 40, + "livetype_code": "2" + }, + { + "allocation": 17, + "livetype_code": "1" + }, + { + "allocation": 40, + "livetype_code": "5" + } + ] + }, + { + "feed_item_code": "99", + "feed_type_code": "45", + "livestock": [ + { + "allocation": 25, + "livetype_code": "2" + }, + { + "allocation": 43, + "livetype_code": "1" + }, + { + "allocation": 20, + "livetype_code": "5" + } + ] + }, + { + "feed_item_code": "18", + "feed_type_code": "9", + "livestock": [ + { + "allocation": 35, + "livetype_code": "2" + }, + { + "allocation": 40, + "livetype_code": "1" + }, + { + "allocation": 40, + "livetype_code": "5" + } + ] + } + ], + "season_name": "Wet season" + }, + { + "feeds": [ + { + "feed_item_code": "65", + "feed_type_code": "2", + "livestock": [ + { + "allocation": 40, + "livetype_code": "2" + }, + { + "allocation": 17, + "livetype_code": "1" + }, + { + "allocation": 40, + "livetype_code": "5" + } + ] + }, + { + "feed_item_code": "99", + "feed_type_code": "45", + "livestock": [ + { + "allocation": 25, + "livetype_code": "2" + }, + { + "allocation": 43, + "livetype_code": "1" + }, + { + "allocation": 20, + "livetype_code": "5" + } + ] + }, + { + "feed_item_code": "18", + "feed_type_code": "9", + "livestock": [ + { + "allocation": 35, + "livetype_code": "2" + }, + { + "allocation": 40, + "livetype_code": "1" + }, + { + "allocation": 40, + "livetype_code": "5" + } + ] + } + ], + "season_name": "Dry season" + } + ], + "feed_items": [ + { + "ammonia": 0, + "ammonium_nitrate": 0, + "ammonium_sulfate": 0, + "average_dbh25": 0, + "average_dbh2550": 0, + "average_dbh50": 0, + "category": "cereal", + "cp_content": 13.6, + "cultivation_period": 0, + "cut_carry_fraction": 0, + "dap": 0, + "diameter_breast": 0, + "dm_content": 89, + "dry_yield": 30, + "ecosystem_type": "", + "energy": 0, + "feed_item_code": "65", + "feed_item_name": "Oats (Avena sativa) - grain IP", + "feed_type_code": "2", + "feed_type_name": "Avena sativa", + "fraction_as_fertilizer": 1, + "fraction_as_manure": null, + "grassman": "1", + "grassman_change_factor": 1, + "grassman_desc": "Nominally managed", + "increase_dbh25": 0, + "increase_dbh2550": 0, + "increase_dbh50": 0, + "intercrop": 0, + "intercrop_fraction": 0, + "kc_initial": 0.1, + "kc_late": 0.55, + "kc_midseason": 1.1, + "land_cover": "7", + "land_cover_desc": "Cereals", + "landcover_c_factor": 0.15, + "main_n": 0.0176, + "main_product_removal": 1, + "me_content": 12.267324, + "n_content": 0.2, + "n_fertilizer": null, + "n_solutions": 50, + "npk": 0, + "organic_amendment": "", + "residue_burnt": 0, + "residue_dry_yield": 0, + "residue_n": 0, + "residue_removal": 0, + "slope": "1", + "slope_desc": "Flat (0-5%)", + "slope_length": 0, + "slope_p_factor": 0.11, + "source_type": "Main", + "time_horizon": 0, + "trees_dhb": 0, + "trees_growth": 0, + "trees_ha": 0, + "trees_ha_dbh25": 0, + "trees_ha_dbh2550": 0, + "trees_ha_dbh50": 0, + "trees_removal": 0, + "urea": 400, + "usda_value": 0, + "water_content": 0, + "water_regime": "" + }, + { + "ammonia": 0, + "ammonium_nitrate": 0, + "ammonium_sulfate": 0, + "average_dbh25": 0, + "average_dbh2550": 0, + "average_dbh50": 0, + "category": "cereal", + "cp_content": 3.85, + "cultivation_period": 0, + "cut_carry_fraction": 0, + "dap": 0, + "diameter_breast": 0, + "dm_content": 91.88, + "dry_yield": 15, + "ecosystem_type": "", + "energy": 360, + "feed_item_code": "99", + "feed_item_name": "Rice (Oryza sativa) - straw", + "feed_type_code": "45", + "feed_type_name": "Rice", + "fraction_as_fertilizer": 1, + "fraction_as_manure": null, + "grassman": "1", + "grassman_change_factor": 1, + "grassman_desc": "Nominally managed", + "increase_dbh25": 0, + "increase_dbh2550": 0, + "increase_dbh50": 0, + "intercrop": 0, + "intercrop_fraction": 0, + "kc_initial": 1.05, + "kc_late": 0.75, + "kc_midseason": 1.2, + "land_cover": "7", + "land_cover_desc": "Cereals", + "landcover_c_factor": 0.15, + "main_n": 0.009, + "main_product_removal": 1, + "me_content": 5.64, + "n_content": 0.2, + "n_fertilizer": null, + "n_solutions": 300, + "npk": 0, + "organic_amendment": "", + "residue_burnt": 0, + "residue_dry_yield": 0, + "residue_n": 0.2, + "residue_removal": 0.8, + "slope": "1", + "slope_desc": "Flat (0-5%)", + "slope_length": 0, + "slope_p_factor": 0.11, + "source_type": "Residue", + "time_horizon": 0, + "trees_dhb": 0, + "trees_growth": 0, + "trees_ha": 0, + "trees_ha_dbh25": 0, + "trees_ha_dbh2550": 0, + "trees_ha_dbh50": 0, + "trees_removal": 0, + "urea": 700, + "usda_value": 20450, + "water_content": 12.89, + "water_regime": "" + }, + { + "ammonia": 0, + "ammonium_nitrate": 0, + "ammonium_sulfate": 0, + "average_dbh25": 0, + "average_dbh2550": 0, + "average_dbh50": 0, + "category": "legume", + "cp_content": 18.4, + "cultivation_period": 0, + "cut_carry_fraction": 0, + "dap": 0, + "diameter_breast": 0, + "dm_content": 90, + "dry_yield": 8, + "ecosystem_type": "", + "energy": 336, + "feed_item_code": "18", + "feed_item_name": "Cowpea (Vigna unguiculata) - crop residue", + "feed_type_code": "9", + "feed_type_name": "Cowpea", + "fraction_as_fertilizer": 0, + "fraction_as_manure": null, + "grassman": "1", + "grassman_change_factor": 1, + "grassman_desc": "Nominally managed", + "increase_dbh25": 0, + "increase_dbh2550": 0, + "increase_dbh50": 0, + "intercrop": 0, + "intercrop_fraction": 0, + "kc_initial": 0.15, + "kc_late": 0.6, + "kc_midseason": 1.05, + "land_cover": "1", + "land_cover_desc": "Dense forest", + "landcover_c_factor": 0.001, + "main_n": 0.038, + "main_product_removal": 0, + "me_content": 9.880848, + "n_content": 0, + "n_fertilizer": null, + "n_solutions": 100, + "npk": 0, + "organic_amendment": "", + "residue_burnt": 0, + "residue_dry_yield": 6, + "residue_n": 0, + "residue_removal": 0, + "slope": "1", + "slope_desc": "Flat (0-5%)", + "slope_length": 0, + "slope_p_factor": 0.11, + "source_type": "Main", + "time_horizon": 0, + "trees_dhb": 0, + "trees_growth": 0, + "trees_ha": 0, + "trees_ha_dbh25": 0, + "trees_ha_dbh2550": 0, + "trees_ha_dbh50": 0, + "trees_removal": 0, + "urea": 200, + "usda_value": 16062, + "water_content": 11.95, + "water_regime": "" + } + ], + "fertilizer": [ + { + "fertilizer_code": "4", + "fertilizer_desc": "Ammonium nitrate", + "fraction": 0, + "percentage_n": 12 + }, + { + "fertilizer_code": "6", + "fertilizer_desc": "N solutions", + "fraction": 0, + "percentage_n": 10 + } + ], + "grassland_implevel": "Medium", + "grassland_implevel_ipcc": 1, + "grassland_management": "Nominally managed", + "grassland_management_ipcc": 1, + "grassland_toarable": 0, + "livestock": [ + { + "adult_weight": 800, + "annual_growth": 0, + "annual_milk": 3000, + "annual_wool": 0, + "birth_interval": 1.16666666666667, + "body_weight": 600, + "body_weight_weaning": 0, + "body_weight_year_one": 0, + "carcass_fraction": 0.48, + "cp_grazing": 0, + "cp_growth": 0, + "cp_lactation": 5, + "cp_lactmilk": 0.09, + "cp_maintenance": 0.6, + "cp_pregnancy": 12.21, + "distance_to_pasture": 0, + "energy_eggcontent": 0, + "energy_meatcontent": 2200, + "energy_milkcontent": 970, + "fat_content": 4.3, + "grazing_displacement": 0, + "herd_composition": 2, + "ipcc_ef_category_t1": "Dairy cattle", + "ipcc_ef_category_t2": "Dairy cows", + "ipcc_meth_man_category": "Dairy cows", + "ipcc_n_exc_category": "Dairy cattle", + "lactation_length": 0, + "litter_size": 0, + "livetype_code": "2", + "livetype_desc": "Cattle - Cows (improved)", + "lw_gain": 0, + "manure_in_field": 0, + "manure_in_non_roofed_enclosure": 0, + "manure_in_stable": 1, + "manure_onfarm_fraction": 1, + "manure_sales_fraction": 0, + "manureman_non_roofed_enclosure": "Solid storage", + "manureman_offfarm_grazing": "Solid storage", + "manureman_onfarm_grazing": "Solid storage", + "manureman_stable": "Solid storage", + "me_grazing": 2, + "me_growth": 0, + "me_lactation": 5, + "me_lactmilk": 5.5, + "me_maintenance": 60.6154651402987, + "me_pregnancy": 1500, + "meat_product": "beef", + "milk_product": "cow milk", + "n_content": 0.029, + "piglets_relying_on_milk": 0, + "proportion_growth": 0, + "protein_meatcontent": 26, + "protein_milkcontent": 3.7, + "time_in_non_roofed_enclosure": 0, + "time_in_offfarm_grazing": 0, + "time_in_onfarm_grazing": 0, + "time_in_stable": 1, + "water_requirement": 140, + "work_hour": 0 + }, + { + "adult_weight": 400, + "annual_growth": 0, + "annual_milk": 1500, + "annual_wool": 0, + "birth_interval": 1.5, + "body_weight": 350, + "body_weight_weaning": 0, + "body_weight_year_one": 0, + "carcass_fraction": 0, + "cp_grazing": 3, + "cp_growth": 0, + "cp_lactation": 2, + "cp_lactmilk": 0.09, + "cp_maintenance": 0.35, + "cp_pregnancy": 9.64, + "distance_to_pasture": 0.5, + "energy_eggcontent": 0, + "energy_meatcontent": 2200, + "energy_milkcontent": 970, + "fat_content": 5.8, + "grazing_displacement": 2, + "herd_composition": 5, + "ipcc_ef_category_t1": "Other mature female", + "ipcc_ef_category_t2": "Dairy cows", + "ipcc_meth_man_category": "Dairy cows", + "ipcc_n_exc_category": "Dairy cattle", + "lactation_length": 0, + "litter_size": 0, + "livetype_code": "1", + "livetype_desc": "Cattle - Cows (local)", + "lw_gain": 0, + "manure_in_field": 0, + "manure_in_non_roofed_enclosure": 0, + "manure_in_stable": 0, + "manure_onfarm_fraction": 0, + "manure_sales_fraction": 0, + "manureman_non_roofed_enclosure": "Solid storage", + "manureman_offfarm_grazing": "Solid storage", + "manureman_onfarm_grazing": "Pasture / range / paddock", + "manureman_stable": "Solid storage", + "me_grazing": 2, + "me_growth": 0, + "me_lactation": 2, + "me_lactmilk": 5.5, + "me_maintenance": 40.4595490176744, + "me_pregnancy": 1260, + "meat_product": "beef", + "milk_product": "cow milk", + "n_content": 0.029, + "piglets_relying_on_milk": 0, + "proportion_growth": 0, + "protein_meatcontent": 26, + "protein_milkcontent": 3.2, + "time_in_non_roofed_enclosure": 0, + "time_in_offfarm_grazing": 0, + "time_in_onfarm_grazing": 1, + "time_in_stable": 0, + "water_requirement": 120, + "work_hour": 0 + }, + { + "adult_weight": 0, + "annual_growth": 90, + "annual_milk": 0, + "annual_wool": 0, + "birth_interval": 0, + "body_weight": 200, + "body_weight_weaning": 0, + "body_weight_year_one": 0, + "carcass_fraction": 0.48, + "cp_grazing": 0, + "cp_growth": 0.4, + "cp_lactation": 0, + "cp_lactmilk": 0, + "cp_maintenance": 0.2, + "cp_pregnancy": 0, + "distance_to_pasture": 0.5, + "energy_eggcontent": 0, + "energy_meatcontent": 2200, + "energy_milkcontent": 0, + "fat_content": 0, + "grazing_displacement": 0, + "herd_composition": 0, + "ipcc_ef_category_t1": "Other mature female-grazing", + "ipcc_ef_category_t2": "Non-dairy", + "ipcc_meth_man_category": "Other cattle", + "ipcc_n_exc_category": "Other cattle", + "lactation_length": 0, + "litter_size": 0, + "livetype_code": "5", + "livetype_desc": "Cattle - Steers/heifers", + "lw_gain": 0, + "manure_in_field": 0, + "manure_in_non_roofed_enclosure": 0, + "manure_in_stable": 0, + "manure_onfarm_fraction": 0, + "manure_sales_fraction": 0, + "manureman_non_roofed_enclosure": "Solid storage", + "manureman_offfarm_grazing": "Solid storage", + "manureman_onfarm_grazing": "Solid storage", + "manureman_stable": "Solid storage", + "me_grazing": 1.5, + "me_growth": 50, + "me_lactation": 0, + "me_lactmilk": 0, + "me_maintenance": 26.5914794847249, + "me_pregnancy": 0, + "meat_product": "beef", + "milk_product": "cow milk", + "n_content": 0.029, + "piglets_relying_on_milk": 0, + "proportion_growth": 0, + "protein_meatcontent": 26, + "protein_milkcontent": 0, + "time_in_non_roofed_enclosure": 0, + "time_in_offfarm_grazing": 0, + "time_in_onfarm_grazing": 1, + "time_in_stable": 0, + "water_requirement": 80, + "work_hour": 0 + } + ], + "purchased_bedding": 0, + "purchased_compost": 0, + "purchased_manure": 0, + "purchased_organic_n": 0, + "rain_length": 5, + "region": "AFRICA", + "seasons": [ + { + "season_length": 200, + "season_name": "Wet season" + }, + { + "season_length": 165, + "season_name": "Dry season" + } + ], + "soil_bulk": 6, + "soil_c": 12, + "soil_clay": 45, + "soil_depth": 2, + "soil_description": "Lixisol", + "soil_k_value": 0.25, + "soil_n": 3.5, + "waste_consume_meat": 2, + "waste_consume_milk": 2, + "waste_distribution_meat": 3, + "waste_distribution_milk": 3, + "waste_processing_meat": 5, + "waste_processing_milk": 5, + "waste_production_meat": 3, + "waste_production_milk": 3 +} From 908656d26f88d9493dd56af310950c40397ed159 Mon Sep 17 00:00:00 2001 From: Steward Date: Tue, 2 Jul 2024 13:18:43 +0300 Subject: [PATCH 02/28] exploration outputs updated --- data/explore_qt_json.html | 527 +++++++++-- data/explore_qt_json.pdf | Bin 0 -> 236745 bytes data/explore_qt_json.rmd | 60 +- data/explore_qt_json.tex | 1852 ------------------------------------- 4 files changed, 478 insertions(+), 1961 deletions(-) create mode 100644 data/explore_qt_json.pdf delete mode 100644 data/explore_qt_json.tex diff --git a/data/explore_qt_json.html b/data/explore_qt_json.html index e35e2a8..67718e8 100644 --- a/data/explore_qt_json.html +++ b/data/explore_qt_json.html @@ -3019,8 +3019,7 @@

Simple fields

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") + class=json_names[class!="data.frame" & length==1,class]) @@ -3241,16 +3240,11 @@

Simple fields

Livestock

-

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")
+

The json_data$livestock of the json list is a data.table +that contains information about livestock”]] herd structure and +management, manure management and productivity.

Summary of simple fields containing a single value
- +@@ -3673,16 +3667,11 @@

Livestock

Feed items

-

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")
+

The json_data$feed_items level of the json list is a +data.table that contains information about the production management and +context of feed production.

Transposed livestock herd dataTransposed livestock herd data t(json_data$livestock)
- +@@ -4116,15 +4105,34 @@

Feed items

Fertilizer

-

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 json_data$fertilizer level of the json list is a +data.table that contains information about the production management and +context of feed production.

+
Transposed feed item dataTransposed feed item data t(json_data$feed_items)
+ + + + + + + + + + + + + + + + + + + + + + + +
Fertilizer data input table (json_data$fertilizer)
fertilizer_codefertilizer_descfractionpercentage_n
4Ammonium nitrate012
6N solutions010

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 @@ -4141,14 +4149,28 @@

Fertilizer

Seasons

-

The seasons level is simple table that records the length of each -season (adding up to 365 days max).

-
json_data$seasons
-
- -
+

The json_data$season level of the input data is 2-column +table that records the length of each season (adding up to 365 days +max).

+ + + + + + + + + + + + + + + + + + +
Feed items data input table (json_data$season)
season_lengthseason_name
200Wet season
165Dry season

The season_name field is the key field that links to the feed basket.

json_data$feed_basket$season_name
@@ -4156,20 +4178,35 @@

Seasons

Feed basket

-

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 json_data$feed_basket level of the input data +contains a futher 2 list levels called feeds and season_name. These +sub-levels appear to be the same length: feeds = 2, season_name = 2.

Seasons
-

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 json_data$feed_basket$season object is simple, being +a vector containing the names of the seasons:

+ + + + + + + + + + + + + + + +
Feed basket/season data input table (json_data\(feed_basket\)season)
x
Wet season
Dry season
Feed Basket
-

The feed basket object is the most structurally complex element of -the input json data containing several levels of nesting.

+

The json_data$feed_basket$feed 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:
@@ -4205,36 +4242,120 @@ 
Feed Basket
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]]
-
- -
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Feed basket/feed data input table tablejson_data\(feed_basket\)feeds[[1]]
feed_item_codefeed_type_codelivestock
65240, 17, 40, 2 , 1 , 5
994525, 43, 20, 2 , 1 , 5
18935, 40, 40, 2 , 1 , 5

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
+ + + + + + + + + +
+Feed basket/feed/livestock data input table tablejson_data\(feed_basket\)feeds[[1]]$livestock +
+ + + + + + + + + + + + + + + + + + + + + +
allocationlivetype_code
402
171
405
+
+ + + + + + + + + + + + + + + + + + + + + +
allocationlivetype_code
252
431
205
+
+ + + + + + + + + + + + + + + + + + + + + +
allocationlivetype_code
352
401
405
+

The first element of the livestock list contains no further nesting:

str(json_data$feed_basket$feeds[[1]]$livestock[[1]])
@@ -4336,21 +4457,263 @@

GHG parameters

## [1] 1
Livestock_parameters
-
ghg_para$livestock_parameters
-
- -
+

Note there is an invalid character in this table:

+
ghg_para$livestock_parameters$`IPCC Category - methane emissions enteric fermentation - Tier 2`[11]<-"Other Cattle or Buffalo - grazing"
+
kable(ghg_para$livestock_parameters,caption="ghg_para$livestock_parameters")
+ + +++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ghg_para$livestock_parameters
livestock_category_nameUrinary_energy_fracash_contentIPCC Category - methane emissions enteric fermentation +- Tier 1IPCC Category - methane emissions enteric fermentation +- Tier 2IPCC Category - methane emissions manure - Tier 1IPCC-Category - Default N-excretion rates Tier 1
Cows (local)0.040.08Other mature femaleDairy cattleDairy cowsDairy cattle
Cows (improved)0.040.08Dairy cattleDairy cattleDairy cowsDairy cattle
Cows (high productive)0.040.08Dairy cattleDairy cattleDairy cowsDairy cattle
Adult cattle - male0.040.08Other draft bullOther Cattle and Buffaloes that are primarily fed low +quality crop residues and byproductsOther cattleOther cattle
Steers/heifers0.040.08Other Mature female-grazingOther Cattle and Buffaloes that are primarily fed low +quality crop residues and byproductsOther cattleOther cattle
Steers/heifers (improved)0.040.08Other Mature female-grazingOther Cattle and Buffaloes that are primarily fed low +quality crop residues and byproductsOther cattleOther cattle
Calves0.040.08Other youngOther Cattle and Buffaloes that are primarily fed low +quality crop residues and byproductsOther cattleOther cattle
Calves (improved)0.040.08Other youngOther Cattle and Buffaloes that are primarily fed low +quality crop residues and byproductsOther cattleOther cattle
Buffalo (dairy)0.040.08Other draft bullOther Cattle or Buffalo - grazingBuffaloOther cattle
Buffalo steers/heifers0.040.08Other youngOther Cattle or Buffalo - grazingBuffaloOther cattle
Buffalo calves0.040.08Other youngOther Cattle or Buffalo - grazingBuffaloOther cattle
Sheep/Goats - Ewes/Does0.040.08GoatsSheepSheepSheep
Sheep/Goats - Breeding Rams/Bucks0.040.08GoatsSheepSheepSheep
Sheep/Goats - Fattening Rams/Bucks0.040.08GoatsSheepSheepsheep
Sheep/Goats - Lambs/Kids0.040.08Goatslambs (less 1 yr old)Sheepsheep
Pigs - lactating/pregnant sows0.020.08PigsN/ASwinepigs
Pigs - dry sows/boars0.020.08PigsN/ASwinepigs
Pigs - growers0.020.08PigsN/ASwinepigs
Fertilizer table
-
ghg_para$fertilizer_table
-
- -
+
kable(ghg_para$fertilizer_table,caption="ghg_para$fertilizer_table")
+ + +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ghg_para$fertilizer_table
fertilizer_typepercent_Nemission_factor_kg_CO2eq_per_kg Nkg_N_per_1_kg_of_fertilzeremissions_factor_kg_CO2_eq_per_kg_fertilizer
DAP182.800.180.5040
CAN278.660.272.3382
UreaNANANA0.7850
NPKNANANA1.2100
Lime-applicationNANANANA
IPCC Tables
diff --git a/data/explore_qt_json.pdf b/data/explore_qt_json.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b789959e88a3bc987286ab7ac419f808c59d8caf GIT binary patch literal 236745 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

kxoyf+<@|$yd1tfJ}@` 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%0DaU@1rtfdhCac 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

    m5x|4^YxJ*TBTSnt;-pZ>Cxg@FCFT6N?{S;1G zZbds&9=Vd|7@hiNY5)5rrD+|qW2dpbp$#b=fZL{ID4^Q%U>_5vl%MgNW-T&cwGPph15ODYRHZW zWN2Wxu{Ca#m>o2wegyZd z+9{CpnmRZ$85q%L`FbwLyF81$574 zc5Yt=ie{U!!Aq+!z68SvNn-RU!A90@U4mX}&|FLU?Q~fA>JCJ z`5)h{y)xc&mJEoPq%E7tH#_Nz$Z3JaO_W_uA5#=DqT?3alLt!$k}~^7dt0>Nc+y8h zV##KI4jPjcLzX+i|k_6G{(vV0wO30}o!4!bI5 zhTXX>m6o=>#QwQ;Upe`LO-#Y%7TfgteU-wme+D6_Vn%xS-t+Afa;Ob%0W#RrdSmlc z#6YZS)P=;NK=MFdm*K^D#6fV0aihCg%6Um+Uo8u)UeaAPK{x`U%-AI=8b#z&fIvg? z;zXU5R~7#Yig^r;uF*5I;bV1b912r_)ZptoP$MPVRDN z(maYjNX#c=Zx-}#tHVQ2KdK}sDvGBD?mYKn^nLQt8+t(OQ(n9^VEsVQ zEpih=AK-z4Zaq*>Qk1dtM-Y;-Q)aab<8)Q(g@L)N|7Sl#9NZt@Q518OC`0PHBdA1M z39ds0o+#5~-VyIy+?ywxTg1d~ZFIXbWFd&_Rn8I6=PyKJHOcpmZ zdbzMf2rfHN+tSp3@mkFk5k$iy<&xDU=sE68*k631-~rmXL+0!Y$JUt%dXm6~%$Kim zLr{L!b<&!DYEQU~XJ(0!wGs`^l7_Ds%sux{X?HS$IDPVg_(Ar1C?TMS4*eMWDD}#5 z?>BxDwn&l@fD)R4Y58qa==m-wXzGoQO<2HX%lomaly zU#jSwz9X4Vzr+(7<#j{|F?Q-kM|J2}tjAgn`h%M~g*nsWQq%wT8;UqU?>Oo8BCZVO z<(jx!OY0M1HNt7nR*_R=B{v}@7UR2k%H(jEritHlQC!$U36YfT5^tE4td~8o`1CC# z94ijiQnJywXKjXGmpe>2$j-+{gp@84yp0U?fSk@*G{$me{q4U{7$$Bhrjg35_q+yR zQ4CC!8;tIK(w1I}uMh-pzNUt5w8sV3{?4Xqk6@yk(L)6o7Y5>#wFmF9@1GyL*aouy>n@^axX#(BM|NDjAp z3)DB)v4&{^jSDxsN>SlsRsB%Goa4oSF{Kyt^g87049%zH-q!{%@lbv1)iT-@ql`=P zS&}&9O`G}0BbCAS^MnyaoSX+j80x4?b_zI?PG}%bN6*Obmy8Dm&2ZD+9+q_b*Op{u z3I78ti_CP!@(`b2o11(My~iN(5pv9#Ioy>Wh3XzILG<|+N|(E1P1cHlmjQr4G6+k{ zLx{4CfQNxHiMF&!t@;N!oV7KdF#}klW`CriMtX%`bNXy6i`mzUo)Bh^Ds)~3#BxYL zicK#3JV^QPuqSMDyaqUzb%l`X!vx>P_iIj~eLbrtl4ZhKqJFC_FCi# zJ7pvhh|-h-WMY3~;}T!+>R~<3laBoPpIz3ZRy8VYf_tw;r;L)QgAgi7F8xVa^0NH7 ze*Gp2dypN46(czgf+mC3xjBMFskUFI6N#DO!pH z0`kwbfadPZ<|_%Vg#HfYBT^Yc8kl^jEz1uJQnu~F^>};t{hLy^YC7BxI`|!!w`O=u z4Y~)%@LGgPF^Nur$Ua_1GVX`(+p(H!M(DvM8MOBp`HxQq1h3tfWpS06_Q!#={z~{a zi=$UPUJHUNdu3(;B}-7QY}OOn+JbHyz&%a42UWse~P+4mE(FN*9#rZ6o(XOM!A$K@dShQn;QU(c)Fv z5j|sv^gqSOO&|m(Bi;d*>lcz@Q@4AZuRQy=qH*3X>RCCL=W>SIuGo%i4onXZDm34lMpD9qX|Z{*=|i%px_e7A(#x?z!nWE#S`=u|Crk_|n>) zXK*H`fYq;NLGHgW<>$1|Awr~T6^U$=NOsZAauwH2vs10Gm5R~?aswY zcbYrB{8xOaU@4)oJ%b)Xb%1%XG`h)tSI6jF#ZVGkfFu_>*+(X&IE5uge%t&?of^UL zAQ9@8I!cRXQQF8_rk5%HS9E@{AO71WlQ8P0&}%4TUvNKELs?|Ju=lddGx5VuFS5Y! zj&VKgE8x@4OA4r87(cULTo$g;V^U1Njiy`KxOH*)+%+$Nu{g!7`Fyrs-)hLxP$p*y zJ*7A82=q=^rG2R;d5Vd9g{)83)H6mCnF7P9yS9@@apK8}QROqWfWThr@a=JaZm14! zol^s+(Qd9;x2`x+56jhhy#HvF`3wB`5w-WH(jioE$Q*-Xoy45;G(JVS)mKp7JHTv4zM6rX%dVEOqkSo@sx@F$GIkp1jT}c0f0r=6jLB2lnVSkv>U_T=k zKA&W)-VjNKzVS<^UKt27-9v+=QEaw)j==t*zmfli!W|EWz5xL)o0D@M6A#g9d*r_iSMI)9U`Qc0sj ztnA}rb0(B@m4Bl2Vp^&4;~9nJT~cAhtm<|J-W)`=uWR7K6u2lJp5e;-Q_~epZ2BGth@4P=9{ph8q8Djozc-4AeV91De`cMX} zG_HtR$i%MryIp+IPKi>~d8DE*%*)4Jg&O1N9kI}Fp=7AYsw*tYQxLTS{G7Z9T!zW{ zK~6Q!`gOIbdVFL|*<6=s&@8a`BdurR;KUB|bwi-U#cWiONA|wsII3PUVZkkws+rbI ziujX0N^Px64nmFAI^Mp>JH`aZ=-`%niFVei+KlF~4kGU}Q^7EApZemW?aer&2cxmJ z2hZS6SRT^a%+s?}hPlg34tZX>{Q(BS4&R0MU_>8p=sL`sLZi}+gOyAZW3k*5aPqt5 zK0?(+G}&omm@=#Za`5`F*0Hq6u*ll+uKjW6p-kmzbhn#^aeq7RCT4n_G8N$X5;8bn zmoKMplZ?((0g6*}$52Nn67Sjcq2lWbr0Z=Ml5wA=uPuuKLTk2sc5k|7{Ivm)b(iFX zdJ$`+wnO*M8QIfhZ?)>cTaS?~p-)%{S)JY1<-O3U&EB(>7x*mg$zjfwwrn=W!leZIWPYm_-VuW>I9J64sVn+GXI)g?@<>cPYW zJU|zrizw2mG$lVImEWjW3pG*a?^r3A93M@x`KHfzi#iRysXzAr8nr+$376(Ka*%E* zY2FUYk?vQ#J(CnB?vMz>88TW>Lc}i15K)Sgo*o-+OLtkjsl=z;IQhl>j`S>KPe(Hp zdba=Oe*Ej{#iA>+zM3Z7`MhqTBO{2e6*HB2BAI8KI%}bexlFQUVrsC@kclb=;uogp%M)qVA3e)74pSlnZ_4oo7q4@@!)rOW@z+k z1PrNgk6%X?_{Qv5LiZ8$m|dHLAx#Yz%VZ#`KMR_zkDhKcvxSQlS69?q@Ixk<@!oB* zLd9PASvIBbq^{w;R#EuV8rgO@w$4K63%TRcB~BJAmG4IIB-G5neevLHKoIgMN4^;h zkWrEGB0cmEh@_Ehi1rvX_uh{lrwpI}!I_KuQlie;QR=)N5Ea!FF4{d7qR|sQo||U+ z-gVOarM+Bh~_f5M> zze+dpYQ!}#vcD7emgZM?1wAQCelpHdh^9Mmn#L%ZSFhdV3jg@~Ec961zF4tqeU(PC zwXKA51JkY;;Vb^nw%%BxE1bhyHkoLc4v5-ff89HVOH@T0p$nCuZYAt~yNfy-r`E;3 zKWWH=H4u5auQhvPke|s9Y=sfpp1Un5kkKzwyiV9ghAOg199S{W`ZPYgkOw%J-Qy=G z;VLyf(=DBqpQd_S(q?ugKlV@?*?(-0@!Io+&lJ2%y3Yhj;34lWy&5ZC!DWi_m4GP3IqyLc(XGVwEaU zj6wE36iw_|=0N$uGw83?zt;;Uf_n(=q}xOb&B0KChVIG!y^=x`P96VJ$z#!BBynMiK!eM-MU5t z5ou~FF&6^(y>v>iLFg&i&Sa9Pe?Q*)t4NY)?gXRA0TMIu#M+`wtZ{x_e-RRb3au?9 ze!C?UqPbME(FrKYTb4Y!OqkdWi=MXh%4DA9mu8be6|uUi^}=oN^E(*!t2|rWDHz3C zD_HU%uTI#D^s^Nn&&a5Cyep(s^xn80FaQX*ZGDsS&b#p@LIC6=0P>mJUy*@YBtib_ z#6WS*S4yvtkTltZks(-dm6AT}Tt*{GO}1WrBfhG%JBpN)Rl&nPM>*Z+et(h}F!Y-n z&4&y9xb_o|*r6-(t{0eL@Vx3mM7n><*WnF%eW|uwoYs9ow|Zyxvwr{Odv)mht$?(9 zY_q2q*Z;Nq3K8egMRHOF!srOcaIzH`l7h^<0!>oEJfg<<)SyLhcaHs%-vMCDe&Lfa zEXk3+B!|oJlKGeQ{K+bO72wI1?m|ucKg3f`hW|@E|H(~x-h8{5Jfz7b5Rw<99xdJ9kB1YOSGsD5GbC-QMrI|M*zY+?lF z=GqJlh_R6cFu~r#0)f?E{ze4N2i^pZ2}BoLF$1c{5`ZfQQ&2}!R|J!&q^P8>P-5-| zQ*&)?0^$Bdz))0Wb(Q1_$fys>;s7cagh)_PSN(XX1aI~|w3mZWQ1D*-8GkT)9o5y- zk=2mZmdwt)o8<+{0MH3Qh|lFU{|v_-#A5C3F74<{0_8~!j#i_!M_b}UQee4TK&h5LeYvzhg6r(j(4zU)AaB^)$p{z z$=S<#tAB=2(31}V4vY;T86E2Y8GBhOJ8LTF)&@`GYsi-}AEW#>F3v!_Evz4VW9{`I zU0dEC0%+!hnu_(jjo)0GjFp=~S2=+TMnA^iWI-QoQ@CfK2Eahq00DLsm=S)cpNn*U zqZ9svHX#r1jlgRlGqII80s923+iT#{bBiNjP!3KGkRINjidT8i(J3efuuP7gmiNu} zzArT0jTKnfy>IQ$kt2WApG8m=|5&Q0&Frio+nQ}asQ~jo^R#|ZTl$}Q%53?QDm}2i zq18VIF7f1V^}ZV>#ztuU^272)k0QHA(5eD$0D(ht`Lhs+ODbR|piG*O967vO@}*68 zZSuJCGthdn(${AECSCk(UR=HF^KRbimd)ow6Owy2iZ&mXs&R9NFX3c+&N0y^b8EmAv~CRSz9UR zuItPI3`}c5IXgN)ZZmQ_K+N?ZTX`VI1`rI;KS*D(9Dta@A2A&uu?Bw*Rn+Isi=@iQ0l zTAo&Un7%$>f6ViKLRE8c`_u$v6V5ly*ZF0RVzY4t?D8^q!Xn>fzn@=s-MxMi13q`X z_Xu`~i4EB0z1YY~+r$nJfEbz@oxVDF-EMwvS>L={zFEiYr=NRYXZ1jU0__A)+J`yo zq3rXISHt#{2<|>3nJk>_!jhe60JNDL<-^U9Y&L<)E9QDM}{HR=mhrbs)@Nh!K!>wQ>flCWUbtW98OJMNtUkq_>&Rfw1ji6Xmw z(JafsZi8w=EX=N2cvN1vN7Sc-C&nl&(L}s&Ma{L=tQo8RL>yjb2+!fiaVfr@d!M9r zY0UouJ3z$03VG~mg~B8@!SSn2G**_onFLJyR^jyt^{r898xn>aJaOit@x-}S3-WHF zZ_;3rXI{zbLyG3_x-EMm46S2b(oYC>cfTx={SlVno`;q0RV~W3D#=92kFE1S%l{cp6d!Lp)5?XZ`HTxYY@~P`siduQL z5*I1F39myASD{|Jkk`cYepb9-PPM^5v&Gs-@@N|h)?xTfYk{Wb39BDGbqDZ9yT8?` zakf@y&{bW2^c9e~hrU*h@#OfD(+jT%X~VOCeR7O)aujPY zDWiu7+gKaU!j+1!7y+pr74O1LJNUaPahgY$nxIFEEr?TN?Z3 z)+!TIh8bwyog$bHd8WX`jMIyfQ{y^*VbOTgaAI1x2ufv^*azeuL6gk}T3n*f?df4ZvE1~; za`0#GPzsP~r7eeS!%C9ZfgKz>%yPI>+7U4}E%DrvB^6$aHR&@MkZKbk83h7_pHo-f zf9e0qfMS?#DiIkZe;Q!L8Qo1MIVT!+!d>v7o^ibW`+>J<2h@qdmIrE&FB`Td>mB6d zfKGKPHo#wD%Xq@jZ$l6A+Dn_cRP11{L?YkLZP1pSM}BG2jaU8fSq}WQJu|0Z&CpOp`dceNFZQ?`P%2ii-tGu4~#-d?q!aQp42^34m?OR-|%LhT5#9 zaC&YPj!RSV82l1?Gcv7<&JO`4iN4_aA^Co@&P;Wc((MwPz*Rn6ZWT^5WYFk^R4s?F zb?QaF$DmZa8g_$raAGKiQLP82oMxoV#BA?M#*n9Ht3LIo_hIiZp(aC*Hi33vHRf<+ zk182QAc#0wrsjuEz~eT@LiZ$#{(AxI;_rCn<9k+eO9Llq`@>$_{jdrW9L8$7MW zpZQcAW?N^?X}{UaaL^B(R8i>)MxDXWe_75s2%Zhx*{~YF|JblXy|J;uX4L6;6v02k zy^E3|qOmE3Zs(QU1Ns$Ew2|KakzIJ@!<`H)Y)11y$uSWW2;g$eEMhFwN^?>bkKy_> zm0GiVZAVv(xFjQ}FSVja4PPJ}orP*XiMNL` zz6^(9;VX>lBS{&t1u+|cjSYAC%G8Bja>De4G+Zrjmv0?HN#jIyyDb;>ePn~1$xqfL{ zDar3b{>=Bik}&lr>Jg7f2sf56N1!0_9v4Faw&s*%eew<+Nuno-&rw3ZO;cSrC1m{A;4Clo_sLpDCia2lQ=YGkE>+Czxkng5S2tmFu4~R+q zS)Ypxs)vClum&2<{2J>ZQ;6~jNno2hrxsVxRdL(zt${Y1v}7bFtfF>;N9t1#uTba3 zcZ280FA#390tMcPg(O>oA5he$aCjqnEUhUXzpmL5x*dmg8r4yp&P{#L5xAm5iBS+U zO}lG-{Ef>}-f*C|Q&aspp|NGyy`22oLqQ%FO6}OVVm7XO&TQAk7qlq!ec8V0%O+>4 z^@x<@H~^=b*mHQ*`x>%o6^1^zrRp|e`eN^l8Qav;#o%|rrj>%i@6Gu8A=nkjdtM(> zw-Mt{8a^VdrR1XVX4mJS?y>Yu(Ev5tY#_uam4A6u$G2tzwGsbhKNf~>4x8j~F0hVp zFXeImML*e;87l8qjVK+i3(S74lEOua!cZSm{nEtvAfV_h zh_)YES99Vhl`zfwNe!;P|e**~i`5cW_hvwix26<@WL;7GVHt~;VI@$KB&v0-V3 zzZ_2?kKn`4`PTezIMs?6vAgFh0jIii7X`iSc2P3-Igt*0WLad;sPK)s#aVniqzp3X z?3c+l``rZB%CMfeR-j|-7Wt_p3r1U%^!Gy*mtC-pCq;y_?s34ae*eA2?jPJ<6@+3x zAB)47^Zb2!?6Qs;Wr{2KYCFPiUf{oU`D1PzT3o8G7_A+@eIfEVVDdmLV}=hA=Y&U>TYnYomu+B-X}#0BT}^;Rzk~5lGbICr09uljDd`)# zdT%T~CMIk*_UHddt0j6yjHf*MVWbiVRiGV?kRdH5-Ip%>Ih?7tt*gknpxHn_8LKq$ zc90tz%v=kwDEUQYnamO}xz9w}YF1E*x#F(f%8?7Nd}usvb1ySW>tIMv6XRm!_%$IX z5RTZ1p}v3ppe56D$74V%=R&R08R7XO#3=(!0?nR{GKS#x1*hiT=cA?`ty)cDy>$AG z&$+Y$BB1yR#t3ebB3N&#%t?ABp)i@+u;g}e%kh1A(;~P&D8Y=&p^K@YC>S#2BJE$dX zs4wf(vT$9a3Qc*Z@?(V$7U_+7##IAES0UzLt#K_4#3%Q!{72Q}7X}+YW?aUzV0nRM z&~e<`e)p(kYaw`ilTBqWCb!&y3c@s){ciWTwRQ#(i2d1fw_~FfYTMo{+dMUTMHuhCJOqC=qE%^zK=G<(#{=9>s7*W_}?WFwzx)I zVQRMkrZyA4jKr=#lJEI~8;w^cv}%jku3z2AG$V38q%D;tc$<-THN|6(94wt+JfWXl z-@e94`%F==Xp`JI)j;iu&eGz;z@~{~Kg0LR$vnJEY{b;Lf>JFC%BK$Y_6LrAX+*FR z<83lJHw(3jevf%eYPA!g>T9!xp!%64nM2GnlXZQ?I5^a(;RtdGdWzHz-u)Emw+E%( zx!!9UGD~-ooJIO~8MNY%_8Y|YhD(Xtpn{k%2ulW%LVRCY=>zO3o|n9&@k5W=zN&#+ ztO%}1@pxcjMHUXm#p~e*66SMdXSk-inqJd1aae@f^&56B(;YCsYb?yM385Cs-FCjW zLBlEpoSDwqnQ-czUgYu9bsJM)#r@u|aS_A<>dx?avI9-IaQ(L{-?k|F*prYTX$~~7kh~% zxf!$5FH}Pap;I+vx(=_;E~4s<8tM=9n_m2gNqlvB!+1YgST8Z#)AutN7{+;ky4Fd> zusyNem5;-NDhY|2K`*Qzg;vvU^r#+@866yNwRlvJVF#-rg7G0*#^j)AVe zNlAZHBtqZ9M`-LsfnuS9K+&ou!Q{13eR!7MBbJO>5eRZFvc^v8VqCl{^mk^lb~!vp z!{+5_ayiP8c>_pO#iP0K%;gy-sDLKuWP0vzNdBS9LQQamcH)A@2`;LhY%6M(omQn@s&U;EQZ>HB3Ik-zU zj~q&bV~#t{NQaT|T6LU|_3nf_z!RXj3gW!c4bGgRE58nYjxR;QOK|P76t2jmp8e+C z&G$q&+KzY7YwTife}Itc`e)C{>XduSaN6EKSEkWaW<+T;t^u`hq$Z z$QO#Oy9hXXkWo@)a&h8NG(6?bVM)d82JRCeQy8E6cxc_M^R6FjS*b90MS0$$c-mUb za(v%U->uL3A70-@_1(xT@sV;RH4o^1ud`t_2R&rP^Kr2e7*xgWwh`4HJmB;%M2yzy zesF8cnJIGaDQ<^BLGG>*Wm2ofQ9{c?A=30xy`)asLM?SEuI*M4U&b#LrrbA0tUP7FB z#D~vfo5Hx?(hR$wFQ=W;+LkiwUhBr~)QGMbPZYaq7=N*^Lii31K~f5?I#x zu1fltOzUx*z`CzNut(DQLmwN))_%>Xh-m>k5~$-k=zLBIXPpR*ueXG$zIXQYIs?59 zq%SV^SSc&bf$}}%&Z4sY7|nc1L+WH-b_uTtDuiaPmy)O?T{JwV!jPvEAx{VqD%VSe zwR?Dweu57-l*%r7#+8h}lFX^cVc&P3)p+tDCsru%qf^C?Q21yl1qtJGxGQ2c`Q6n% z!U_y>kD7H3JemhB>FcU2kp>eZbZM;7Ey2AqD_hq5GBTaM!U};$B-9Pjfj+1LgFYdf zI>pRXXhgA58_BCkz*sFzq!|n60kz!|QYTC0RNgavqCdu2X_H-hkMd+}M_yOcJGYOx zPjmS1w;At>q?C%qSOK8x@hjG%ypMDR8uDowwlyjeH4#Q63LRvx-fqr*i|fBWM7t7A zeBmNEXP&y0`#+$$%FmV*{V-k>k@v@gUQ23s7`=YqS$OxZuk23!NIX^QIAKEVV;(5+%BK6bzl{wv-E+;+J@td~!@WPUH$!YsS4( zGVl4B%yTMAK0PWH{PonLcF~xu$%2^JBgJCLi2v@ZU92AJG$g~>hSmkMtt-M#;wz^H zYq-r?92iCec^sE9g>j(Nz%3;TlhI2V@3d#!RRw&T{cMP9L|PE_ovj(z5oFz~N9#~- zZsv~Qf3i&s#rn)GuesLrQiP}{aUAoNA< zOlGV^b5Ql(^Rv$U2Hg-^fn3?fGNxC5_>PXhEHy)FK|@7CnF4qUtG}@XCF4K?u45l9 zJ!ZgD6OYmBzEU<<;$%VbgVX#6tH)D98b5m*ije5|S(x=t%GJKl@(YNdE|z+hqNdJU z@7(?L*-PN*$lca)w0mK%Ryc+*4TY>d^ZInPSzG3On^5FV4)?t|Neoemd~V}a`}D!d z7)I)Kyk7Zo-C86H2ZurZgU4x;Z=?x5XgQ~w-5F>KN%`70#>fFI9*zUkEKo#t^cWQ}^)>K?ht~knUm+POI zO?zmB+zuOF5sng25ayPFH#-QsnOOCVE4dlIzR3NMG*g$>&yYrWiP32F$5s^4NacmF zM#d3PKqqIB)~+)%`W-&T8ybj{E7f~wf!K?5V%4pg;3WR_0HcD9jx0hhk9DhCA4Bx4 zTkeOSQTSeyO-fXNPLWagJmA8stE_9CTJAOL)SAuQ8rK<~O(rtf8`gMKSzVAk!u}qtA=DS8_%dr z2N#f<@nNhn-`6Ft*d|CJ?K7=kXlwz0majI7OvSjnt9MP&7fq;TfrBQ?c!Q7j|T5*+f`6y?3QGc2SgfSnk zFFTnB%){FPfhU_SE7-ums8bgf2tU96ND-fCXuQ-zJ%G;QY?dddNLf;!fKrEFDvN)P z5#MVHG!x-(o#h|2$RrnQ(Z8B0SFF`euKfsgDcoLxJu7aP!>DR|ym(>6yz5T}_!L`! z^{$I-oL{TG*?XQyP2yWy0$6_EAr9Fk-=)3pDWv_m>Rb~*C7)2#O4OZN_Ou@RJm-=} zY;cKPc~%uH0`6-X*-n#K(`P4Da(FmD)!XBY?SoZ$R)B{*4T*u>oLiGydvb_UED6+=yTnCRy*mBDt!m004ZSBz^DQM~qcgLDkdXVHtS4SK z_EA&jXRmS)5Lee2IO?VX^>G{^rIj3Day4ksOdVCpU1v^Oflrk+5FnQ7bkmWUuXQ}i zO#X5*qx&8;V9@Df=4?btp?m7KY>v73H*xWC7)N`k(#>^$RLz%)w2=<27C9E?1Omc6V<63$757X?j- zh;~RoC@*PG(z`A$rHp<+KXKwjEG7Ge}V%k+`?FQi&o;#zm$V4*JwWmHjWzFEfqg#7E@D4Zml{SIuW7*dvLc?Os+ZQ@gJptrKvK z-WR@u?ln&kneCGyOV;-+>M!Wc?6m*2$4fGtYx?~5I*u@OZsAcl$aDF-~IR%odvIWJC7&duDicR%Esu& zv@Xqt@Q3ewTTbWu!#L$P-WcgzIrBR^Y;@04bZ(Gti;jbXVp4ixSTk`<1mKvgP}8Y> zF*wtuVOWU}ZC~P^%!a%nFTY)3_*b7C$K3EAG3B~X+i1a`0sV{L%L|`i&YINF@=R=- zoVUToDTVFuc@sa1^cDa5Tw9PZjcb4tL=8{>^((Bf|TR$?W8JwFC+Po zq>Xk21)SK$BanARqPs;q0ZBnGrqsL!9dMihFya}IjKY*xTL8PToTXieoIxnn3z0_L zA8j~iQw2vaPJFI%7uC(t7}X;?{BhNsXR*nCI}Y`%$HnCcGSZPo#HR~@tMPMC>O)#i z(ZlAU;7{pK5?@yoxRTXj`w9$H?qnda+KsZ0>Kd`4#iUp`5tXpwbiYljg zX9q445q8;9!p><+^>fW$(h`K+GL)Ge%2ZXJ^$XG{!;H_I9(?P}6ZCU`8Y>S$*I2q3 z255g;pDei~wyk6RM%w_L3H6|%Y5j>3cm%b2uq$1Xsjrz%e$(Uq{TZO7W?P>Ru^~Jo zqOLT@-Z&q^ndN?IQJ)i#OSRDpwZMhPuO&r;Fc>A0OQj{pMNrBzJYB7F-i(hp`!&lZ zAig*rvR*_51S^UVoIY7Xo(b#nSOyMZfjx**A%n2}X(%J^!fWml-b+F7(7)kddr>^++T61D)dZ?phC<7`$WHPM1NlfTK0#Eqv*A+c|GUI7hie|oR^wlv?rY|pnWRok8Qm-G`uM@UZ|g^W_m-;z+J{7&Nga8#o_ygv)D*OV;`92496KE zZ8YftiSVU+Nwd-K8BM~Xk2O+drhMzvQqt4im+KqDkn@G1DXT!!YJ0fQ$_LrdNEHjb z${o14l4Sak5kO0t#u>1 zUVOELAu?E!7P2@{79EXEq)l#dWzM5Cj+@PI7pzMbylN8IJd%F? zG+vbVIjjpNbDdN;Wm6wSCg9j2P{~7i88T2Z29u7P5IL7yf8lcXLKi1|7~I0kFuao` zW(_-pB)@U+tA4e!+3Q^!!--z;_6{dTLumqHMip50NsY)U^nNaim1UZmeu01~*~KwU|*gC$psim_wXwAj;M>ZvMEK z=g@(hzuTBmwrLiE2qWz%*Zu@g5xIm$31Pwr4?ZO_j+|H{MeH5zxB7|)uDB;0?Brtg zpM!Y;9EMCVR7qm6_)Jb45{?(=;p>d1UzN3KFa)A>Ff(@_TtyH7zw2t^TVK|axjHkO zj#@b2T2`j%unzATSfe9^(d$#f_wgcYKpYBRux1NZwOu3%?sPlEGbi-V@`NtT!@>H8 z{VwG`dnXT$YQY6M;Ig=6D^cc`PBrNYZ=_#-_k0BJbv$s1rgMXBS-qt&h(*kE(xIc6 zHK#Xm5}mq4G!HhYYeOhQK&{rbq~FUQNT!z`ZRsRM8noe}@PA5>MG);mj&lAep@Yr#!n*{Fv$xvMr@fz!0} z*WYV|-zYHbtai=DKSw>b;RCZCV5Go+I$UUIj7{Y6Ap-gWHZ)e$>7z>BNc*(sJ=L!17nF3uO5KWc zChv#$V{;d-iPa0LrXj7z z2n5FCWQ;?oUJs*%&Th6TM6_oyeUPnlr)S_v916Uy^yQNwe&g|A4Jv$Bi`d`xk2)!Q zJ(U;1(m@=TtEep6%zC9An`!gCe2b@5XkIkm zS6kC=g$U|tyk#mO_l>UB9eM>8ZcmZ9>+P^!?4tZGQ!16fmo|5E+3~!JQ!)0m*y(oR zB~6v`OGd21A8F9=i2G2Z(L3*udB3qQkSHpp5H?da!JTg3=|JcZuC-;46&Ge+SV0m6 z<)XgJRPx{pAD(~VzQy8@*@r@;+Jf{*>4=lMsYdm8cM5k5{pKfeph|Nqx?`mkimOZ& z*eNWz`*kXh4n_Rg2U*LygFe|uB7z~>g$;A2f*&H-2S9bEk(d?t*}vC%7Fu`ymc+d6 z5dZ1ZtGiY>;*VfZfeXhT+KHK0Mf0NI+5z!{1G<^r>&h_CpzdAzxV-l4l#b3SNhfpO zCk%>EydOfblfzH4R*xW#Qv=LodhZ`U+W0BVzrD;xC*KFW>ac(G>XK=e4DCsNSLlfY zXLJ<{G6y<`hRit(4-se5Y6+{xY<_6%N}*26E)C(dwz?yz zvG7J8GDY`On~kgP4^yB)bdW#V$xZlpAc$NL(n!kR=UO2|%d($3T;mDAk)WD=JhHyE zK~|M$Xy{rZSXe59>rr}7-re!5&V8sZpf-nXSt->V<~FBs7x1kA<2+z4x$`$=69`Ju zgQQDFW;$Ap4QGh;2i~VS!R1&}86Fz8>7gx^NuUNzk8a)2 zJxEGQW^!$uG;)|~;pM6`T0o=LzX(){hEWvXVH?a7;3C{t&sW!tthy4ali7!)S^)Ov-}GFghcjfl)E?{ z*nd`HytvNtjZSRh0aV9}%t5rYqBe>fVebKQyfH;wV?3kx>PLLmk}GIe47mNijm=Hj zsS+1@5~8l07Hw-MzXk`l1_=IOOH|eZmL@8GT#~G)>-x_0^}SR4>_5u+xAG_tW##M9(6XBt8Jx z$NjX~v-OKhXm2in;q$R$z?QVSrT2Sh-a;N94yH+Nwv?06;SZLUK0!#MJTQ#V@ZK({ zG^hhL$FF6p2&ms-^l92|QCY5|g-8rK6T37NC@4UT_+(LP0}P&v3vPZKZT!iOv1Mdej|gnoQGrc&RY)GjDD-pE4`b8A!VoI9*xiZ5%Zlf-UQ^#29SEyv ziOZVsAP}I$0luMVhZ+z5jQm8d;KRfp0ms2hH(sSeb~dt5OhRQ0_9<{q|F54> zjF6^cxK>Y21BYS+aiLQd!%AtNw8#ki*t8;OV{YUEEC&11CVk@C-PF@28M~WU;2Gv- zk01RD7Te*WD)=kaD#K>bc!=N8*ybW;L^s9?0BH|yExas6rDDi z1i8CeAnKz~LqdsTUJxg?#D^@0B+S=1B$JUNxo9CQi5vYQ-eQH;K8D6v77GZ=tlv3( zqDxZk3*JA?rVfV0ljnAZzWtJ@>(ur&11YxCEa2V6Ty49x2WXDsnW?*acSHwZJVQDm z#>nc_xn#0Fo57ZMM!Q zdb)&3=-Vt&U>n|5wHx=yi&yck?y15BApewEkS7di>2d2if= zo%Cdz$x*^MPYXQ4dn#_Oc=eSTvH4++O7Zd`My28>J{`DatB+mruGA$1A|*U`3X`!G z7*05tIf)IJc0NvEpC2|hKS$pjAE(mG*UNWB(A2GF@y*9wmS10``x<1lXb{L?=_|=) zDZYC=xJjM^S+r>m*V=&fJikO4`!z0&M2%T-oOlj97e8iq@@XA$9CB@ZhGeN)@|#xAwuX9k+s%bmbAL5|zdV_!89V;LjKy2&tKwaF{iVFP&de1mc1s7kN%B+ochQ>N z8MpNnQ&>GQ;*`Z%CM_a-p=r$_ecSTUP3q4^2Ar4NT9jK^JfBb>X+h&vY?b}iKJgaY z?JI23P1AC071c~#EObIRcgiZ5KRu)3VD=QvY&26#nm<=pYb$y&?ETaoJRZ*-*{vrN zCii^LL63zsYDGAO09Sj6w_3Uw&bhUOgWugK|HTP@iECed_1cQ7O$yH^Z(5I4Y2q?9 z^Yzrr(KgW_Q1x3|PU_LYSk4FWDblRy*_Nkkd{j=?Bl{(w0WGzY>FO_#KSfgtCX9&h zxrNt&Kvy1!Xf*3z$Wi9pKF`FcQDyfJvQJlX=`y0(nXN5I@K=|$BiNdOn zy(T(_GKI)}0fFh+PW|v(KBpM&t5kF=bxlI7wlce}yo@5S1K0KIfWrJ-RE0HuT4p@A zuL~R})Gc4h%=nJ-uaqWD0K7X|*GoM0d^p0VAHC21gZ!MMkQ!wD%~+)o&ushtm=qdB zM-hY9N$)Cy#f*s#a78~foANz(igQ8UWv6fGJY`>Kp?;%hzYPymV@OLn-f@%X4wGxU zPVD!8J;K4Au>A2u3_e|S?bZ1`?Lck#lElMKm{|qTy}I{) zjvk&EA7_?uc*&gyK|(8Bk^(81v{kyFK=pY_@401K4?xqqdZ>%eNg-DOD~5S?K6y;0 zH@`gbz4oi*-Gf4H<&#lP$JhJ4qMA?LbPjL=%=>3$`jr4y%l2iWWWRjnT=oXvQN+0? zE$|p%%h`^k;nAp5#vC$wTs*VANNv5^8$u795b1h63~v0g4Jwm22WBwe+}*DY>uYZG zHyq>pdp2|a93z{vxn17cP#`yU;~ErzYg5A@R*V#J%8q?r9T=I$^H}qam4qvn{;enD zoDaHZ%r_Xv4kOTowV6OnCsU*56WsW$=*h|uD`NIk1%#37VkP3zB+!O zHIPZL_W{Q(OSL^*C$9(qZbN63>G<5}994`$&sW*a-WJReS|=dxW~^SY;=O=3uE=DM zNPds9qx{L@{$maz1e2&FZ-Be5FRx7Q@1z`MjjYgSfhoPYUXXGh@q9= z#gJlFyKqY{F0OKQU(b09^NVI)Vx!;fen3yXZhCfD53M|JOSy0!2BBA zH4BOF{8u^Lpr=IH%h!S$QO`RMbkzRF#xCE4-%MR*LcJvC`;?4@IKUL4L7EqY2t(LL0Y{R@)0s-JC1 zMjZ3R(vI3cmvz|hHd#JVJ5?>k_vPP*cFPz@a8y(`dLLz*j6=I#6r?{$+lX=!M6Og? zGc_XgZO4@!t&6@-D1DwTY1Zpgt`7gYC?`0nEZ>)-nfp~`^NYCC)!bZ0x&4k+k)XWu zw&!s1)3v;b^@`KeS~>l5=|icB{-7HFuW2)Ls%M0C&tH8lFTdAof=UdE+Y?gZp?b)@ z(_XjYmISIlUWb9qi=IDyQuWW2bki&p_%!kQ%_}^vDPWzk+S0>`1;$=QhT5S`Nzrq$ z!e?k??PtC*6???Ps%QhIlkvd$2*so@i_p@)O7ZAkPp^c3ze81gg(M(#B;Hyi z-Z6s2t{}sJ8;0B<+BVw=k<;5lo#($onzx*7*1(|qahT8z5T(8TUzKpkXLQ& z6gtrSGi!@uXNik#AOcEaUfB!!b}`*nNS&A|8WbIDJemmJ81r;?$$c7~JE z)K2AqqFSz1u5TaB!VVgT{KH&j^r)(cph9{OD#JtYk|~SBwk)`m>^8F2R9qqW!2}XT ztFw4~#@LZ&^OJPD(mqdP51rUO3zYn&3C+3VNv@qJZZW@$m!P?o2A z&*q0wkZvvbWgbUEA+^aeEqUF^P)d;}>yr(Nd zWM5p2Oj=pU)NQ*$y9LZu`vzOw8zWT1@f`2L25n)B&FUvBk@AYm=l~Ge@GBbG8d~$% zl%wuac93GY@Ge^VET75OEHr@bHZNKqlzwSk=^N$raAs$BI|76*i+!E=#|l8Dcd|)E zj|FXE%Y&T2?Mg{f3{ekOx_2Ils2%b08#{1h-!~h-!pbkohtin8=faw6MX0T=FYK9E zsdpUIZkElPgzG%_&h*P#0aIq57uEZ;Z>1?aVCh^3r~g=AAU3fs?r^Vf>WtSPXm))V z&A;7&lvqPqr@dL$cyJDiI~qFr7}I4?8(=+Js8TRXp=)^t#; zgq65v@ekP9K|w6K$6$kbg&I0FT)}3!^$#_C<@5o~%3F@NpxyY3q-S3n)Xn8A`}k*%HN2k_ z7CtiT0M|!F=TJ)9X992Jg{o6{cIVuT*LE_zBDm=r=7R63j?nl0aDa#>Nw|6%b_*!- zaoFEdA41Lg8x%GYg=*Zwbn;hQ+sS^gWW3+o87Q?f-s$|1lfBkuHIY4QA1TOo^L}gD zPhaX78MbGI|5G~SvhJ5~I*V(=>K0mA-^l&?-}kiv8}p z@C#I|n)LSjo{ig1j~HJiI?RuNC`Q6VB@F*r)|!{}3BB29VI!-O-wwem`Y+~rD~Q+5 z11#T})l`?N{Sp)zP)uMj*Tt+I8E`NtpG=C2oGU%bp({Rsb_eHB7zua|&_IeN9-tB# zGZuKI;*yc?ogZ#`Aw_lq$PV*SgeuX)1FiHV-cS8%@ik5RK+o1sKoBBb9}x+tqsz;X3{{@jIJ^13>!mn z8X!%WsEZ?)zcZNjM1^zwoadZ<6B1Cn`V&vBy}W{i?j2y+em>2!!RjSO=Zsn*#zmVfAtA0|&60N^VSe>AFXyBy50FAeaFk@ycFw+h zJXrqmBxkH&QI^p)+tDgV*XGOX{hvLZ&7m_`_O8vmT zm2>_)dE=bz89TCayuc{e#Hd=e+*t+ke)74CYPZ=}^b_{n1PE?-VY(4eZ{qNPYzm44 z3QhuL9EB5a6-?vIV*W%zQ1n)gl2;jZG^bov8EY;;@=oug&fgkWU;{sSjZP11&=C*@FBvy?u^?Xv>aOrNXmB{O+}Uj&nQM;GEYS)Yi#@iW!S8o=3DE9N1rdBU3g~{QvdRIz< z;%%W#u+;CMJ*^qEFM;uSLAr+C!vl*=*dieV^Ze59SQ}XmQ6Y30@O*qUU6}hjPPu)x zf7HQU%P~?5uh6g!WjrpIj$`7O@Q59R4cqTdKM%R~VF*(8CR(Md$KHuO!r0X3&g-uPbB`*3k(PiTu;PN=Arwe4G*5U| z(3!Es6#G!c=WK|)L#)?+Cnw1RoG3dpo(ec4)QcoWeo2jikg$W7)Q6ZM{LOBxa$L}9 zOizmxOkK`T`@s8wMemW+Dj+Mc#m@x!MWAIqB)yh|I;mgM3z$v?iIpC?uaYPC*c4ls zQj&KamFly!2R5bg#2IHWg?0;(E(+++Ag5TEAFwk*m>WC%$}E3%O1%j6uB2G={AiUf zlsyVc269DABJ%UXYqMQ$3_9v3|Hx-lLKY0hM=Zn!5gM&POk828ZjyY=u%!)hliNt~ z#*Z6xS2*~vL(un?aSGk^_#Z0p_c`v`6$mTr-$7BzW^8?=itML{lPIrOwM0_ z8koB}g>v!^@y8BQy~q!X<;^`3Bz!jHC5&s_gsaH&O9$OFUMvw@ucnPCQ;bb22lDtj zjv{Wx2U6wa*>@Z}KgjYGW?5%^zi95YL?`Td@A*U|ZTOKB7v4;D)|G;4Mp#Qh+X6$^ ztej75)nXb+PNq7uG8~`cmYyL}f06a_4OMQHZy6^FL{-=wXF0NtoO_JI2-MZ>_KK!R zL%W(BD`kxj#IUOfs#`pS*p)dTv+=Ffc%k`Q^!Z~8*`Qjcgc7ZH$~PlOd3E4LpUV7C z(}hi(X8u@_w1mX-?9Pge-v*P1WGAH6scQg}ZHg|_96G*I$` z3OWRv-^S^^|0#<|0QIV>$wCT$5l2?#PpbNQFpHJu{Rps+w@j0JY<{Ze(L6*e8zhLd z6M|ii9d+`fQv6T3Q7{-1Q|S)v;Uy1{VoS9@|& z!}nSS7R>Ao`l$!GY{d&S$TlPV4Ro^Uq<0!SMfEXHWQwoQ z4dxs6kzrE#IG840J3bHfUC@lA+Mq-WYd?AYPXiscrVqXqIo8 zz%f^nH``Ff&)z&~{={5CSw4LCR8(3Hb>=TW-b53vxod(@Op6e+4-d!{6*PJdv&=&w z8=G&D5UnSb)@Re?m3d1p;)7Z`t*(E7E)6p84fy_VElwza>q-aJdKJl$dM~^V<~kzxskiPF~@2HM1paV3eDCUg@|EH_+?RS4bRYPUX zOYCK~5J0&nEezQJ$ZMh1Tx!(vt-D@2==_#Mwvy~w>Do`D^sQYPCnpyG4XcuRe?Hb& zIo%L=?P?Rygg-$XYmJ}P zgFAS`jL1n2c4qEad#$fj#RTcK95Vm}R?y96FE=s*3G&8q2%KTjJ7-G!9X?S0eTEX+ zGPti(8vi($W2F#0C>j%r)$)$rXAof3v9eePaw;Lqrdbg)xQ@TVL4Ucu({>g~&h($5 z1!#z%d&b5pt7?_(H-PA2Io0epwj@K@k)mCK;=9r02@U*TbbXfv0gl=PJ4az6pI%ge zVswVChrm+IsOE64J2vv4vlKS+kd*|(OAGyz+ZanaBn~3*4(|Z>&o-;st@a6B=gZC=J=(a7BgdEV~q)gCK8Xj7)&hOB;~1 zJwsrZ-Ct02uNQ`G+-mcA?`$SR*u<#mv%!{Ep`36qB)q9V<^p~Jk2O6N9$5z+&;bzF zY3X|X6qd@FcB{YXU(Q7q|N0|zQEAIgP?V`~hg@w^gJX0N(Vuv}tsvzR9=P-YPuTLo z@F0t3^bMppKe&KDK-g4!XB%ft;oh>~&(-;dye31G{?C`Ii}d{FV#Cz+kytxgABBL$ zlSE+~C&dI3mp$-?NeWrcbuQxP3goge8Eqx6ew;Ey-zU?7j3RjL>6_-><%0xY{$y@Y z@fb>oDct+3BU=-EsrF(iMCg8ujzw?Ht>j;37eO`jQC1DM<>KH(`qUYUoD+6 zyQCxQC0ObtCA0WX_dRCY!Ljt%D6;H=Q`~rMO!cKWq~<;k_Fa!>?xUFcGk`d`&~*AX z*h7X7#7WI5!-~5{_5phRG1J^^)?wvjspHz1KS=*QHh@st&`b;G$@wS(8>$@<(;e*n zP_)_!1b7MxN?s}#nI!YARm}989r4ZoCIWE|I(xm&Ep3^aZ}qF}y@ibn)gAUwEtZ}j zjC)Axx`UHPx`aaA6t?Q0u^s0=cf5atslDH8O^AOX5H!yKzSIZCyetzZLF|D8Wds`; zqmDpE;EKtPq+$?#PZS)H*r0T*+`xOUIy@MX7)KsrcSn2iK4&#ZXzF!93Md~3h zD3s{2=&C6#XK85=xq$83Js=R7k$9^n-u22H$;PSWn8mRd?_cOi6a1>|u047-fbO1* zyz37ziWdpT4Ot-nmJJ;(6&{ywI6F6Ya(n4mabF*GVU98~E{vv|5RKc9gExAqToS|G z+#{O#e5b=-g~_zA@k*6SAV;|nVG7eYK7Ow^TH>I6TGyw&Udw64xuxYBzB{bB$8YQB_OKSGAkQTHi#}=x?GyMTW+&Mn{sPfhx)}g9 z!%m5S4R0^lmsI$6vG`eC&G=vYo6PmhjnY?)X$_n2cSB36I(wpNW|U?N1qD*PGBV0L%}CVl6X zF-~2uPY2nIH_q-GPzgFClw@H*wBTq%c*Oq(7n!=`C(WyQt7`fLZ9OFGkMf8ZhUIs?17-HF^_O2C?6!DgcBMwjTY&5XG|h^+I)tE>ECc#3Kk3~pM{>+Wjl&v4*-x0rx55z4q^1_y`r*P!Ugu84958r3pGgmgFQg+Elr%4~Ru@lrC*QFklKpq`9}Jqk zbnT#<=tv6uEc0w`Z9_c{d%D%@_w_FcS#zzQRIkV<*Mse4OXgpu-5ems9T+^EjFXZ3 zg8yz&XbuNcHl`kIY@BJ{54PDyB6PO^c7a|27=ET&G4#Btjh^fI4 zrx=TO*~1!&ADYAb_F%vf2&Ru4`_BdX{UIy~*e~@}Y}q=;lK03<34#$9Aw-1!IT~Lm z5~f6W&o*7#$=ZPSG@zL_^?*@f&>RRF=hI&fe5UzR4kjF*$ife5mplwEnnNYc-5Ga; zN;SiQ?u`X%=N6kS<`Px$_PjtKY7}z(moK_$TWtWBVRC7SvNM;psx1gXbXhNV5p(pO z|D7JGVU9ee6rb3dj#Z^Xb;~t-@^6+fDcGA}YtW9KiwXY}M^GbkviuYb=Bq~c@V+k? zZIy$FlJVrJ#(T0rkybTh)+$t^VyyP$| z24u0YQ{j5iM7V!rB4_*IDPqca6Pn@MF;US^gNf4%`2(PeT|DcTd4a!ZK zf;r+&GR$m?v}sV$bo0gzd6E9VL0xlwCQDovYg;E5m=XpRLr zYZFi$O|oUgoBy>-m}ooQ_cbNiCLK&nK{=QMP0HYPif{I3qERRV&zV3uZ!TSkCqJHA z0~Fv;%7mzCI25gqPV%y9C4MR?l-`3zuE{AX*=QWN#gFR>x;U6R>`O;WB>)i16x1l5 z4IsXHI2zYPN9PwQYrI(1G8ubZMj$jhSN4)mSwZqhnAiF1KO@#5B|~pN+y>Z;)i@Fu z!P{}2d2T-1i;BNo_Z;Vh%(3&>z^XQCkIQVI-M3j%;|&^pn9aF9Vb3i+(f1N}Q*1K* z{gbw?!;1n|62j_#2v+kkWcHi;0ksblWZI(B?F9G{e)ED!J&Z>>C%m`K^-g>W>Q-!a z9;P_mjDms2$DX96wFO61=4%bS!?A<=O;Wx_V)o>)6A;KI%WA=y;H?k#+rKV8f)tr( zR4|Yn+;jGM%QCM&c!5-Oelx_Hrbk#8Ny7@?wXJV<9duBr_o@Uhr>gd-xQ@Z_A(-?& z>jTBdBuRreEg^7o(9lLX*a z{FbW0y?~LY*l$Y&0QID5@cB@hRB%bO;0`dysI+{uOu(Qy$Ec7sWc=Zbwq5G1cne#r z0zr_%qy^cEh&|w>jsq8!lngF-U}$Ofzys*vqbn4nE-Ck^YB@PPfYOU=SKp5M%ouE0 zNA&q}rnQc3m5T@VF^-%$&Zeac#BvPgp=ue|hJ@YVXbaL*+CipqxlJvI^L>g0n=ISX zo|;B14yexRukp9&IGlf%Lj;1i;@c5`rbzce@KgN z;f*P3dZg*SS@9R?!=&t4ejDsx1zpv$@-lX-mo>4C7V8Rn7@w7HpE>w1y1@uE(h3_6I5i0AINT+lIA9yLGmF~ z5}e8gbTA8Smjn;x`_gN=uz(ho?>Nk+9kjIFz)^{_4M&=<6zb)a1*WY>kM?FQIy11T z@3C%U0fzgKaf-yZm5$$C^1KHYyLe2t*=;3^APgJmEtgetPI2qv#>CxF>79WE6}Nqq zlS=I5NRl&C+7^y29k~o!H2#=(oAezOb!zXXTq+elrjoWBzR-BnBLB`%K2;6c*9a8v zKbsaT2F-q5KxW24+W;u-Bh5ul0jLw=IE2py$mM4^U#aKgrq8?9mn1?4y7V=}3fErN zHf9(luiQ;Kb@7w+NotREBQdMC=e-DW1upPq1SLsNK&c*}hy&)*T79e+B!_VE^u{u{ z#)=)e6wK;f=CVU@XL%heA5rC%$hKRn@iTysk^lsBJW?N~98W-qVsehtQkx;oW{YL@DCSao)5 z6F@h?f4)DqR#!?Ta@<`QMQ1~fCIF2BP&=rmx=upa(qx?Rw-u3g+w`I|#($MNr{OF_ ziyJ{7642vugpA~4$_vgBbPm2mE{Lk;1$~<=p4<@Gzw5mHQk0P`XIz8y3PJ?>xPpEX7KT)NcG5^= z`o8s=^Q5#wH+_(lzi}3cp&_}v6$!oQdqm%^Py4n3*t8Vkrbf4YA*PPQ={RKh=>4Oy6=r5^aIdg-+ zk0nmM!o;Wf-}|*aZiWpEt|+LJwGo&gX6I8)pyt$6)2J4zyH_@QpIPLSr=MqYZJ1Nm zSjeiU_4o3Gf``nQfX~e$(+}~-THMNCG#DWXHN#kcpmh73B)0NZ-AR9F zK1O_R%6pYo5TAF+@Sdnq2C~aas+f5w}!|9LTxbh)^X{Y(`@}BY36Y z@$vaqwZIeDySn7MNQ<&pF7B17Gs>>xm<+b#FV2DGuI+C_J77I)9JD{ z?cINAn=L|Jl(IOZ)_uZ7bvhuO`F5L5J0x@#ryZ>Eq{D*v&R>Wh?m zPqX~}LWp^f>&}Jvh+=aor^<{DP_UO#+c27B9|WCOgHh4)E^)vi;y^z}Jw`so>FpgB zo?Q8%roTXK<1^#3kHWd!C;9-LRrKv%V?+O0eG6lel`3%EF5&ujoiwg3IGz=@5gNg` ztFTf4pqzd_)tQZgJ|ZNgt$7ObvlpiY`#S_*5qdi-3DeSdP>?gB;h|6GU(nTI)9j^N zlc@u7Q=VoBqFhdIERoxP@D(6b;T##v+(h4EAw%9?#%tT1%3LE?BwTEF(s#u8Bwb(E z&-mkJWPbI@r<$_zVBq02e$Nm##twVcvIKb0* zAYcuH^6Y`qYuGKBL>}LmrO*MDLao(`!5HQYao)<)l*mYz^ZwVcg0PIZgtsOOM2j2g zRpct+kkhs0H;mBP%~0{#8j4UOH%f)f5r32E<1}@~#$b?KP#*%T-TGPL4&Sy@#qfG@ zL#aA5(tw+hygVFEK)W1uqS!u%s!3M#mVi&dtrq>wU1=r!B$w5h`aorHr@lEmmWKN1 zZI8XOk8AxwwZiu>ZP=HXLkRhojKGp>4;iEHDJ})Gjzz3n8zW}4cyS&C5^UD4KSjCe zjrn*y4f1M_^LAU*ADwgt16(D-KoSsl0S$ZkYGFvc4G9kR`)?+NXVuNKsfjT4l6pnG zqEyqrg6*lF4e7E;nDn(3L^*^&IqLf?J#_P%2=1~o)JM1FUL2;Eu9&#mi84-`sLnyj z=E1>(XM`VDKi-JmUP}HE4UWcEKhSyX?m4U~^SaX^E+&@1{a=*Ruq^Qh`N##Nu0@Vq z7L`aLZeyM=qG;wywt1-&L-;87zsV;%Ho`R2`XB=jQhUvLcz4zT1#Iexi}LeeGJ5g{ z^kjn3M5Iu(0~T*$Er|_Z!{&3X36=gmGL4A<$v0pp1!>? z#TR&9MLDwo1&-N?lWKny;sSP4XH!E-_8HpHMq42$MBnI6+a}Imq6M{wW;>8Pf=TS? z0p0`YBIMgl<&;XRQ%AM-#6bD@Sr?)e_zhv!jv*ewY;TT=f&q4d97*eze9OWrNIov7 z1}qyYaqd7hbiy#>+f?ER>=~;!JiN7|-jdTg;!K~Av+5d(^$IwV(`Zn}YWe03Oxy19 zWLMLyk{em&qzM{?(Zeo^cQUC?+%Kokg)Jj zI$oPnOj>z`vHG^N>Hynb=^e44a3p?$aJDR@T|1u1a1kd^?;<5B%W+_2f)W$P(nGTM zwuC89=h~os=H3a+t>?siStv_7&g9R(^vG|yEupso!|gp8kjPCoQh>4-J&oFi!f;OU zjqENi2uGYp{iqZVH75!sVSIv(GIShkS6aKq))Hnkc6k_mBiiMuQ*AQOsNDWMS5KXp=FEf^zY zlF0%P{Whm@9ifkOiSJ#LGk9fXDWmN?6%b|F6ZgL0$p6I@$a&uX^nw)K%B_mCN+!4V z0ln~`8es%sy7zyB;xLI$6^=aSB;B(V%`w(cJmHhE{nWa4{8?ch58>f)*Lgys@YWvY z@1pUlFx+y`rACgos@tYBdwKYCF(lZu#PGfO6B9ltX@o$#PsBlrBd; z)Gt0ylEti5fuN4?<;w4D(U6=nJbebx%pFaL+fZo zE^c~<>BcL&`aLea>*JuF`h8rsJu9}h?^3G=h2hkKfjXt>q*_^b&s?P%OQw#cDbLrc zS)u%Ps<{8=esY9S8=H=-WoAQTw)JP|5Ez`=PMR0q7$-JrR46X_0tY4=mDJ!6vmAw+ zob%8$G<9m%P?p5~I$J|1tMZn5fdU!Mf#)I=U-*pK_JA&ow&otheR8cljf^ZuQ z>uZih#k$t0+PlZ&7>Ef5Qw+(0scYUFMhKoYP4 z+zPk_h2)i05D99&^@TO!(_r*9XJ;oT7f=3LBdaTHCD=eHMbcMEKn3KWf?6W7Kkxdk z1)v)JWT1jl_&0!AP=xQ?I?77=s=8v@$*FH|cp$X^o`uoXPmWuFMKK5s=yxK7T&sg) z3m_aw&=?$q>ye4Y+rxuVv#T>G15cMWGw0@avE0t|7Usdhr4c+pKsUf`z#r%M%mBfT zVglx)9;BZGyuiQ~!o>mnS1!rvJAIj8N7?~p1K~5C(ScO3-+JqZ2JZj{>=!dOHS$`Z z6J}}(2FM%L8WL$?aAXh;4~iMMvlAo+&=}|+c(wvSfdY%@?(FzJQ}}M5J{4dEq|u*2 z>1Foi#^*Hx_3K*dGm9ehag1d5CNi~UzoGPHr>iCItsV`I>UfN+(iL7kn&J%XAo^hfuv zKQ)8CAY5G@OaK9A+v|gi!-HqQ7F`Yg44t3*-p*{K=J4RwCOjq0qyM4->Jec!84{QQ zFiIeZWKxZewkKdo? z7niun33R4*R`5Uwk`QCWziOIWgA>F9U}w&t$;i~Y)nU_7*|;gCsSdZTs&9yPnA zHN8P*Q)`9H)BrAz`evF5&>k;h__VhH2Ymm=OCG;iHv`8pzAqYoe@;Lco17d0@rb;M zW^D+9>gqt4_X6}p9k766%$?7DE8v+Zt1E7ps~5oh#5XGWrNNnn-K_z%!SM-5Mn^}6 z2XRxtc|dG3>cKD!fu(c7xj-<8ftiy7SfDbHoE?!sKxi@S(f#bn5g23iFZ&OyBXGv( zFOeNk^9SJws6pBX;?aM6gug#RH9%&U0uk^7w9ky`&cf1g$(j1 z{gHSyG9!CYJ%0V?@BEDh)RzD2&XJWdA9z89+yr442zkEzZvfob0LK7Ki#Ng%XnM0V z3rK=Ie{D`qKkb`az=VM*u=V%wJc3?qXYua+;0G$O8t}I=8XoXBgHqkTpE(C=w}9%v z=fJU%xe-7e-NB#kR|Qx?L!%p@`qsX^cx$ia5OJ!HM7w)6FFfFFaC&M2?(#tcV$=K! z8x*?r4L-Qr{sSB2{Vc(V*#Yg=kGMoA(2?w4X$}tgU3dhx?gT_QAOH)Y%+s-%{p**d z`AZgwzJoI^P&CMf512AC1!vg0jK`fhGy&;r{k5*=(g4hV?(@tdqyhbRh`U8Vh|`a8 zvl}ZQ8e~W8TtM@HoV%MV=$>j>Alm#V_dWi#pGre>aM9luipC?+pL^sVF7Pg33rNnP zqq_B+kjo&l&W*fI%|8{0<%jqHi~-){6y)0)W`GXJlk+zfsP6F1yk{^6&|}__#ntt_ zEAe2~1ppuPeft3291!CJ1R1E+_Y-*__5ds()Sn=_zW)yT3rMH>_e*^{OErCaw*BtY ztO;nqpB!1ht~9Yj_Urwk7g>Ptm*jcT9^l5I+du-ozXXB-Bn98jT!2(M^0SM};R#?n zbW)xU@12{Pe#AfN`~Ia_Ki8(``P1k=kpJn-e#<~Wfq8-~BdKB%EWZlbEoBc*{*&^{ z=!_{nGUckA!dp(z3pAO__+a;cp4=w`hQx&E0yR~{;$WD4AbzQY5XiPt3OC#svTG+- zmD|s#NxaE_qkh3ClZuQzvt)1vHKV2j(REE)#+^Jvxl8eyHEp47M}T4*?~i)$cM%CU z$n_WNl_y_lw$@+`c%#lWvm1487k%~`8_9i(Xk47fLJv8Oof_nN zcP+YJEJLrh_Pu?UwCkw*QRXFVFP(_YnqkrWF(y^{C@9%y|4=VSPyU3!A8KLQ+L~wc z+txJb7=w*|ua*ai(sd?Usg^3HPJEQ(Fh$jQ1RQ1`mmwK`u=wICd51mi31;87-Fz;C zARFggK(OYkb}Pq#a5DG5Ri3z>hiremsW>@C^kak`ocm(YyO58 zj~_>8P2X&M-*kA0;@qM1N^iOa2xO@GoK8-e$ zMBlurXfK8oTNsrahqBfjY&ZxwOMK%o=lv=#+Oo1OO>aQi))8}8;^dDAyYw}E+lVJ1 z3lz%Y91`ntKbtr^GSa>k&}7m*E`FY7b^a1lG;S!wjn-XjVe3=dvK1vag-w;Ozr%yU zf5Z$I%dwUIIl`jf>dPLf`QWaXtU%SaQ&@MaMvsvxwVIh81DjW8B5I?1bIiB5(%|%G zuNq2K3i>i+er9$o-0_V+`^m=tZj!;vuYQ~KI~px8CL@)2V3PtG|>pm;SK3R%rQIhSZ%n*zcU*Q5^K zWrqIn2W9sw5aT{2{YJ5we>1&gpN%-th3gBZI{LbI{~?e1fWw4AGcS^)G;clcrwAkX z+FDIW4Qn2P%ek5TyAbJd3^Vp+q6nc`=ujOxKFZ2eCrZ}+2yGR}Pkdn3uFUcLpdQN6 z>-jVS_@!vC0YiRJmqxdhO9Cscllm9RB0;R6NS3VdVWIpjZ{|zk|zPfLjVXN+za$MT|*3-?h6UZ zq%i1^OU$XE?At-o+&$yMs)nFWO%qwWVKgEGsk6 zEHx?Ex@DgpWp2E_#p9aX(V6hOZmyU-(sR)DnDd?f`)F;f`bFtXi>oH=(#P}|@iJ@d zdPCJ?XWJ`1u2ubwaY%Um`b~$1S+Cb)3AxZcy#uu)t?d~sH4j|~PLsrvDssd}Noh(E ziqPreax9_gmrO=CHgiK#t>5*8F?^{Z#fEoxxRp9-f0TZ@)d;Us3*xJv#QNs$n#KH- zY+af1Uvu|cL1;rQ@z=cV#S8aA&L7YJY3PWXrA1ZS^LKGfEO@-W8mmp{xyWy|wR zDlDrC$(?^H8wMVe#)Mi831g^T^dz-`^)KWHsZ?Zzqb;r;F7e5<1n3&dy^Ya|iX`|| z@zxh})NZT#1V2h3@R4mk*E3A=z>mh=`Q!8bo8m1rV$lAo^p1Q(Ms<6d$eL-FV+I!4 zJ%dd*JG1LQL0#!qyG&ebm(3&!^-Zz;2y}`~NlLck!aGHx9j$)_w_i_kGJOIFNVWk1 z|8Xy4n`p-V;_>-I zKi<;cb>q9md7Sw260@)-?X9JT`uM5iCEVhexw`j2OuFj-kXkLt-P-I3`${b%CBuCV z{*PC3{-+1lxGC|lmW@~(0@UT^&re#@@|=ual3C-VGum0-7VzgDmm2j8FEJXjR#gpu$q z-=AS$q3|WMpW?@ETjn4ICc{g_yFjIF*-zV*=b-UFTu>&)Um&r0GI(Q}3mxpqddO=d zEP=RE`!As<8JbB67g>v;TC3tYiJ=$I5bEF_P^VX*n)a#mX@T?#pOPDp8g%L~k4Wn^GnLB0@Q)=yJ5%e4m4A71nq55859ah* zb4iYjgi{$d3O>gz&f6+pJtXk-^(pJL1u0j&g3!oM5o4%mmvBRFpzCb{f_km>gFCNrampDf^89cp(bZ_`BgU&<~-1 z3=-MVs*~`Twpmc$Z;-iVTZ$&k>qb*6T{peD&aYcN=Lhi~&qT5!vvJiGza3r!y|_gi zgt7!%iX}H@+NYA)iITt+{i6_~Y{n?oznuVNXB^z#5Df07?I@t4w3Js9R`eh{goW^5 zQzJij^p`d6oo{NRj!YfovOP=9a!W>6#UB4gBW3gIWUQdqA|#L==V0d! z7zBxn{t&SW0T~Z(-czwBbUYcnPEvnX8x-{v4D8~bh4@JqqeF0Rb4E^L6zn*dtv+uY z(@jz1y@netc2!HmwsNgRrQ~GUN35{<&2hfZwafB{nJA%m5(D?BXVBzWcNX*+msU`u z2jQW2>gc*v(`2&KnbQ%5M3`V^VBukvN5P+ytTR7&mv=GjsQm1-8YHP-sa#edU*NXqB(5S1(p-Eva_ zk$G?UNu->FH4e>jH6hdln+#cr=TcQbaaBuwp5)Ut zHRM*I$Fa%2hTo4UgpfyfP%|_b#kMz>($!FHU)8CWAO>UbnYkf9<(j?i#Eqw&EKL*g zNi4S@J~+{iG2x zreL1rGgPGcH{O9FF#ctUsin$LE8po>I{1yKU_ukfA}Z$L`Dk?bsAk!Hd&~#Ua`j4> z#{2igGK$Mdb+%yqV(I}YJfPJPEGRrm0HO21GvGV8IZ8h;6VCieZS&HOr5(-{UXFA8 zI6I)C;HpWL0B0{tV_t@3?~Chep2uvEx$+uq{Dy|>g`D$q5az?Rz^#WAsMp&Bs)T8x zc#uoQ^4L;6#j1~=JQAc$wlkE~8C%W5Z-gd?sP>!fh{DOoW9h5P$om*1sKF7-n#jh| zIJ~V=aSgc*!R?h1;>M~9v^i*!N_Hqo61JMThfI`{yymXmY7|IG z$>XjJTpzA-Eb*EeOHHngQH=@C3T@gSo{9N%L$>uo^tp8`geA_Q@FX3+yu#4;x}%kA zQjw<_F6y#9k?yPGyGNDeublj{0|SF%w;cNWvYb_KWriYUj)y|px>+FtfgA<3PenN) zDu?P&wz2Nd79%)kBsRts?Ap%mk)}UGQp)@t<4U+KA;3C32W!#1bMn6mGx7am^@oPz@fMHNSTQzd>6D2wNRx&j5*X5g97JFfD_%d=l>DursZNn#mq$tE{;l{ldf zrtg=dhCMt^OXYkJU2YzDy>jNA+WQ2qW^7RYn{1cRwofU zt8DuMi89irkRio`!fDw^jpM&D6VPOGW}(iyQN@sZXUs}MG`$&DikU$Vg45d>RnE_b zjVln7p{B_UjR$gkc^cEgIN;DF;MPb`B^4e^4gDBF21D)(OcdQ=xov1zOMi`jsOqdP zq^wk*R%hIqwp!r1Yr(&Ch+aDaV%`&lhy$ry*1TCrtJ9g(?3UAre7%IaGuR;G*~GKS z>Bzm(L%eCsea^bJWX5Cmy9p$f{xNd!y-hcc^qcrdiLMHoLObs`RhQxOhwN5CMdqxo zLo_J7_=;L*nFV{($wL^*;L?dYoW|Z})iY_1ACxCOq2s!q&n5*8VF>xi-9ORh4)Lb` zWT|s#z+m8e7>ab*Kh>GcGjH2puhW?;Ot{l#A27|DTbJq+p_?zdwqvyy-}mF~X3<)< ztwW&c!0&YQOzDu?zc^<=PRx$#hWhqZp(%zD^a>MMU1OFgRsVO5SNxZ3y2UoV&c-&< zukg&1V9BC^4(E3UC0KSbiWc^m_wM8k?K*)kv7u-qN1Q&gD4@As9N&`6%#)H(@yETN zt4qnoFxxQZjK4JYEtid&UZ-=D?* zaJ>6DQ3zffXaEdG%5ZZlVsh?)*Cy@*xUq{r2-~gcde;otc9|%ljxE~uXRJ3_C$xK2 zWFHRJ=v;@S_n*0JyXqvaH8_myG_W@v6rkL*>wXXx3=sobMZJrSPQR58MI>IPSIDMe zuF9!}9)IfISFP$tVw}VK#`YaKPBA`O7iTAQqgCNPn;DhFz+N!JIG&Y z09Mkt2>mAurz|9QBx-|`Y(R9}maT`sD&L$3i7xvzt5d43J=TOv{`-s$=LG?_7+#;j z1~_`Y<|EWBaXh^?E^(eePWHDf!QP4|a=0+Wk>JEzz(=fH{7G>r--dUV#43$d7Y+Fc z^YvvsY4xpK2&st@@$qtoDBmzA;GP1I8DX(aC@QzMG;1G6gCz`nDHQ*FjHE4e9V_E1 zUeqPmTg$BLXhWm#8WAD0PZyJEwen~OmY81ZJ0G2>qvazB1Wa!qcIie}I9NS1kOiU3 zN7d-Ny@YaB@5UO9vN$r&3&~>waT&r2e2QQDDz9q9Fig;Mv{yBiokPwGa(m;jG6loj zi#?tvbJeu}tQ1DyEg$mg^_^Z}OXG-p=$43b+1!6~Ijd`Z|1{U^ba#sdi9_mI*}a2z zy|!(eW#Rsk)}8LsiFU$30h*RE#;V82#>vgxk{szxE010<;j-g*V0h&}j!bjcgYp<1dq@Jz~y?|A2O;l0*YDzfQZcY?jTYU>7F61wH zk2DnO)6CWo`j&l~!(er+I{RodNyWFjnnZd1Z073P{+B$YC27NNZqq^ax-AW5ks@BB z*Gip`TU@y0z{`@e$|{M|B36{O&#hWC(mFHyylh&FMRY{ww)o&rS*EX+v<|C%+fn-u zXjaXx$|fn@WRYxv@AZS=gI~d%Fee}-?O15=)cyN9IYjM0#`&h zw!FTF*!B_ZD!ZGy0*Pa3ijVD+L=+&l8nvjW%K`m>T`w`}EvOju3Oqb(S0ZQB#Se~T zg!Ux1(}sj)D#3R7)#DcE$jiSHy9S z63?fSZ*PA8@D3_Wvd=54wW`!~AXEHIb*(SMyFcf+(4}Q89&+FM-gS#8kdX;buK$Gh z$@Dmh#ayN@N0W~WW7Ec5c)ndI+FQAz2&K&spQg`$-&93JrT?u-DC!gJ=&SL}5g`@bnX7-C)*H_@kRMM5Dh8t zm*ih`daL1SFed8;%{kvyIp2odUMlCT1e$0s3=T_Ts47YfLkjWaU+4eRLHHTHN1 z7B$^_KWBO?HLrVaGD_?&NDei5Ei2kCStmngP3GRL5d{K1s_{C#I)zkc6ImXP&S^+% zwvIC01Ow5?zi5$kB~DsmdqZt>j?pUKxk3~QhugKKc8!=|;)nawjY7CN zy}J}?XA>He>9HXUiN!|Up%!%9Uq%<5P^3d=Kb2kn_pQ70BPZxSyp(P6Vh~Nh)n$gF zr#6ELY4T$n{|1r)t2-*p&Z3o2c$8CIG#-o13%gh``A$1>-F1Ezs|z_y&95WODd&#L z8lM$;-Wf@QEK^z}VF+I+Z~lQ_zlA?~N+Z7y-Vq^I2 zP#L|b%&oA9siZ&IOjx#slNLR8)+rf3RLyPR5oym|j1qu+yp|ioE$55f43$QckdAJ!@c< zBr@E)h32xrJWWRst6!bagzq|oHuTj>M@hX#A7*GSfuhwP9neX^ZOc&ILMz{X=711F zM+CUHQx=LVDRPJq8;>~~NZCqIcNsR0!hnoapLaPvl ziF1>rs@68Hm|U&!_3orSl?9rmUc|U=RPL?u5MD`Cp8FUqAm|N$-Mb~<5!HPdeGR!` zRN&g@n@4^eL|i}ZG}o7wx8aTf!nnhM#8+wg{-WdT+-)Ub{QIc*zH|yc&FN7FVtg2^ z-WoLsA|sw^kDa*q9b}QXi8Au$qqKD4@<|woYs1&x5A@@keCYRv%mTO+?W`a#f^gJlXf&js*ry#4z7_Q#M>+I;L#%KQAAa z*xbs)O}CkLo3fprv$|Z(FI%a!18%P+ngBn{W}1CmGCY_@{b{T7$)HW61D7yH}MU>T+Q8 z<_~7DHv&rujR#`d{pKFoIT3GguN6nQUi>U0CpE*zh0*6c35aHnIWiuXmrPupG;ZI8 z{-t{xKCwy_N+(0Cd+t-OiJiJNEfOJiZ0IS0=C`5dI*6)b8;cOEl}2Kk7X2M68y)E` z-K(g%nqiEnKDlztiiATv{Lhi7WeB_Vw(V3Z@9$&1E)3Y%m^<-;IPOe2+vy5e@19${ zB@Z5_*S!Q5A#x}o7p9ry+K;AI%>|c2Pwb<2ORCC*P9m%Xv4`HcCv1oeyY&Gjj(BQ8mpbi zyaWqo!oqa=E4fnzuKc|$ks2TM$Gx`ykw-chwpn*BUX<^xSJ8=l_;;!vnkw_t%oqVu z@@F^bN>UaDOhLQ%yU(+uGaan|d-mHA`UrccgeqwxtzU{K;XaR#=*;`3SBUESrKXyB zy}Cw4aAJTy$M4*q_-U4Dl$bA)0Yj`I7fP6bduZ$gk34Z&5W$FVbts=4{cyO!YU<*; z&SY5F#0_WKXf@gT`4WG{-Sf8^x=1JCNP+jMS&wtCk}kvqtP)=XbzHNhiDq{_4?|%)eS8@ zu+bTxIOX73Jm_Se{>NP0_W8N>Vmi1I%W{pcdiRG}t}yU)>7jz7)cPXo$pAYYL3yc#+-$!i zab4358yR12zzd0JX!`eEdoOvw<`OP-Q&rue`pO6=Lyh7o*kxm66Rq6T5aF$DVmeiT zevMc$A)(!GTf?E?SiQXQ1zhwtSBJ zvjTPE+-`RKv{q#!on;o!E?$0SP0|}1*wCU{o5pFKa7^V01O5%3K(xN&%&A}C4)U{Q zY>LgkF+=X;(@{)z7OD8irKEC9xB#BES%O9LZlAK+*NXNGYHzS7Oe{39XRel-nW(Fz z9AyOOWuan~PuqpuS|I?Mj?m)FOeM>1XPbjlMIML?IYp_T&F4tNJJ z@3)0f9M~i+f1|>x(#q$zZ+42T z8FBQvo`R7#U;(bK$Py8`76yJz`%2ntI^H$=_fT|^hzHkP?Sjh_3DXks3cd`;i^=ba zrAAGx>I$m)6*pBFc8s3)`+;C<<)OLgaBUcdvRjzM9AHv%g+Qg$n5*~dc=xV??d2$L zPf!>84LWKfTuJ8v22~;=X!a;qq%%=PnX|*aoaNmvnTrS6#%}4ec5>JDG1V`}-=MCS zXAj#lX%=VmH9Zbn*3L<&3(k!C1p>;VWZOS*Q-q4xv?(tLmZsZ#zo0Bd;N-Z3*l$y0 zL~l7tgr%?$TdbJmcuU^S88MbUW5?pppGcsA9XEu&OHbr~C5;)D6MWkvRi*Q>`Vd`q zBI9!SKL9&G#J`~sTN~RKA+#h5uEAru?V?doTU4aGWL3~l@m+O$>B6aa-oDPSQL39j31A`ygGh>ka5t6 zM82Gl6>`Ile>VW(z0p6{;a8YO_jRTME9ujiCXOoo(1AD$%Lxf$D+3xHS_SEHdlTT3 z0<99=ua&9gY?xPq3_wk2PnZ-Ti9Y--CA#Yy{1I=Xu?$sn?M4{K7=>}07B36Nd`9L$ zFJ$bK_MQXVPn?bxGvw^^EV^0zd~Sf*2tyXU+zlVUzd4t0w%QKnbfj%G{*uRgUz2&0S5wH9(=wa`r_1 z)wiM2xwrn-zNI3TX-Pka%8or3I>aW~4Kpu+q^gl%bzTQJCZsU0(pa#Fm1)w5pPu>h z<`OI1e6c~QZ2zGp78GzaSCqB45qm28Zs`S!nYqI#iLJM4xR;wYE_(0bL#bECdz^f$ z%xCFEa(8^8l@|+)!5>%^=g46nKNVW3pQ#L#7xeN}HPN}+vJ&U5F5wTWv>@42S_(!9 z!0M89(@em8Iun<4mUX^aB;GR@V>_3IcVA^^A{-uD)PG_tw zDL}=Bz>UrOs#OLu$_qA)>vnJ8&Qtni@N>k7<4-*Bh4Zy}0}lGa6P9GHpyh~W9uQ_{KSw*jJF%?sCnd_OAAL$87i}Av!}4&9gv$Z#(@%J$Y@_1KHf#lLLdaSd$Lo2f_jA2{Nl3 zJZg^QGUa!L48kvFEWr)W>UkACay2*dJVfPeV{>(?jtk8~mrB(Ek}0t+s6FG$GEBor zCHX}KraVN!Mv}cG&BAFY@U2~>f-Q^)vpIgy(gSxRWjV`VFzJ7KX+LP!K|@F~9$CU* z)aVv4#m1lWyrdSNn{o6qY1Av}f2v0D9Bj~^dU__|Wod>#J`~K&vwn7#Ui=BGGzm1( zIAdT+;f;NJ+~GGIx?k17Cx;Np5*h!iRuUPzDqj%pXvB_>BIV115ZzAJR*|yPXL7Vl zL^>&Xq?X3-8>WeS+>36iT9<^A6Hd3?v_XGpNu%i-k}0|-$&G_% zRF)dGzQn28EvtDlBRiR8oeVU?49oXnlyPKZ%HL9w>_2!Ez(wUjP9 zTuTDEq*(A5e*?s^29K(exq=ht0&hW@1i`>QL~Y-Ci;P*)ATvfll& zWLglb_zs>6|fCjZO+QqfNtm$E)T~Ab5@i24F{M17nEE?GNOJlM&PXU~|Dqo4AJUjQIjR<6IWtha!=WnWv0Y zz13`=*sK-o19qtUup{cC?wI9q5*%oXgSFV0NA5Ch4K1P6@Xl+GYNP8|u8a9j-Rgt+yJAIf0Z(yQ}Y4ouv}*16@KJ4M!4hsD~6B&DvlRJ`ZL z$ZA1o@n3h$pqD~)#@Z1kivTIKWQ8+)ixw#h?C&rzZ_ZWS0LU!R<-wm3s{c49_<^Gi zW10+4rU(ZKC!2G9E99rTFLspAB`0H6ITrVdr9Cufo{5{9R{GDGQ6wPJI~rdH@x-e0Ov3o) zUr8yuvB5Uxs7a4niX4<17@G%L^WD)bY{=*qd+CGmKj9SO!clkFs-%i56zAB3>eUd) z6{x?K&Zs9i71h8zlKZSxw6CVIe;;S`vMm`UNP46W>5X;@YS&h}i7{``44_F&FUj-z zkxqbzO64K1yel_^7*2Ovs9TBoD~YPmVJoZ}wuZgTs>cXvfEl7%S{#wa&kr%H(d4OH zR7nHS+-EZWogUKIio4P0Jx@2AilAYMLPr7o+vSkW4{7Ohh`F2AT;Ej#^cqUL9cW-{ zxTvF}YCmof*pW$TQy=Ajx#s__Z(W}X=<0^}<%xn2f`-_P{iw8Ig@`7|{hZ@$>^{5Mi3Z@q)%q)ea&BN96zKb2422 zh9=%6eG!nD$P5SRs@mb3iZM0jJMV-4TvCigHu0_SA+>We<5%rtxtR`4(sJJ)_DA-vaJm7Bwh^YhpoWoON?K&?)&koqsW_k5K1v<< z>m-fvqG$+htrPO~eOipwi5+<%JhRdoJPu>pyV;nBW7riPOea@XUeD`!p~=&NHUa;A zT2$nym@oU#;}r=nMaRK`Kk5+_^Oc6JJJp4Abnozj=nsh9uqj=#jQQ;*dsG1v?-Xy! zen^Wv(ku}X9=}bE$s*+U~b-TQtNwA{T8t5>MjI zYc}qSol&I~XB^@D`0N$zPnvPvm5)jF!XA2fk3IP9%Z2X7prfFiRfUjrjlI*zIkHmxtqhUg1lwFW z@%%@j9r4T8&^^nyABdnGpP51-vgxTXCunUt==s$AI-r^OKQS7^cZQX;K+X$C3K4qA z=Lj8tj@F++(Sc;(@+-(n@!weIs{k}tw>Rrc;T9yRWa@-uPxlE0-X;R{ah4_ z>2r@EXG6Q{&=_|9=0P6PF>CGXDluw!v5!ohJ0Fc;P|+6T&)*Q)h-Zz-^LwULHGlRW zVeG>$k$E(|!b!%~?nDKu@2FnPTJ55{S6$L^JSAK2k55sYnW}PsUoa}~9j6y62vJTQ zj)5S)H(QXqRz>SN%Th*4CbMB|kc~xIEx%4Wq>>}UC+*eU2Jy!&hE^wOiZJown(VAA zNKSIsbnrTGQYSB%iE4TihPI2q`*UwdR@7uauV=pxkqgf2+{pjPG$T88mEpT?6<%g} z&bW#@X`fBsvkAm$k}X=NWhks9@+5OY*80A!ZG-~+u)AWnzsF3s+@4dVpy@()p$$rC zLZRVE$Wx`Ls1qi}Z5JbT>;2-E!E4_PO)=zSUE(>iFfqgZIp|fF6W+I1u2nj+KNX_b z2M^KY`lEwANdo6E(ln{UrJT}WH3qUQGv$N>fe#VZmqmQrY{jQ-^~ozdDX zhKK31Q{cLnbj2wg2Y$Z$Q}&r9m}HR@AllFWK{hBxJ1`Rpf|qP1d|dAQ2Ga0lv@soNCMRyj8XRaOa25m*Q5)5QC9iu3l8)a& z2dP4JEvL~j$tQQ#Kf^gOk<>Vx9hygHEa@RRXacwJ*w~+>*k5Xakx=b;$KH_NgkxAv z&hthIVtgc@zKmZmX zv}bDGO;4EVrU*vc1^c@D1^3l+y(Z#9@ESI^%cBXV4Wi-CRg8()@?WdH!r$*)a8JpR zMp;Or3Lxwj9HzM=f)h@5Iv+wjpWhj|mYauMzTMR&P9h+xfmf2*_mvH31>#pNI&QBF z1i1^Mbl5|vUU^tBE5XgyaAz(Rsp88+-SlN`MQN;NY|Fh%tP|N2qHrC3#{$Y0-7PmI zG^5Ut&bM9?K?JSo##}&r-iaA`+l<5#KiZ=8Rw5eBqY|UEdB1U7x)Y5Ob*8lue(dW* z8(dTW3qaO-SsCrHb39e?S3pOzbh0%*gyC}#BXFx}O8;q&?$Bg5*PF>?a=e{ZvFHnw zx@QAdu5Z*j9;wl%NZg$LS&FNK;5Khwc>L)83JVq|Wb27_QG0n(-|sA**>O!dA35e{ za~Fj@9LJi~cJ!>84`j_`@Ipx2H12-#&xanYg%iRszKgQu0+mEhD+XLNN=i{;MFoFs zq88EX2t1n(fhOr4sfc41ILg`jqG!k;k5Y(>@*MQ`;C(3}RPgRV+S-HUCaW!dJj0=VZ!zPC;6(u_O@#uj zhfWJ~Gy?T_i?>zRUnYcJ(fd9oocZ!TqN%P}(dG;*Z%1N`e-&I?+hut^OFiB({AEHg zyAitX%)OH|Mgh{hY?C7FTP&zcOxM^E%^4^ZVPW(o4Ijk*(ob`K#gEV0qaCLa_j1gw zA=$%>kig!x|BzM6#A1@vy9R%+at$~gC*{5krzRClp0omb!VttW3a~#i@H%k~X0ZuNIk72ED2XNnql!>yX6;DvMz>Z*!eN4^7QIX?_ht&$JHN)o^3&V zkACb4u_?zQ)tAu^3|1bq5e?;rvz@16V#n1Q(WD!2)Z3LHpt^0{NP#0rh)>cv^K zb%etL`x{~*-Q3q*K3oM6*U9{hD$(3k$KWjxp*{dzHho=J>RU-PS{kXoeb4gV)8XqK z{-d2N!$8@SCbMC_VT$+L{h-JM%JPSIwF^;S?p0XEp|HDc_7ZWDO6wSuLoUB2j5nUo zvg4hTijx5#ZL}Z^7a2Ais>7~LPtjK~m>ac=B4;cle&LHfkFCDZ zeI3~$M$XMsxa>!1e9 zSH~FM^(67_=J5H6Etjc;4DO_P{80K5wi@L4IRTef!xIwRgF|2l-KiI)(_He2Ds!E` zfi4}e$M3yB4s4+vCWud=IX#2t3TAJ;fIU;1YHY8eG8HnL)* z{4`lcFe!rK9!^1yr@8jX^mL*JBd zEpB%&YzWM(2y%3#g{d66PIBi#0=$wM*4_0Qx)9^_c_$`3MS&~_pB1bYQJCW zX(_MfN1Cb3ol}>sp$U9dvF7uvyLZvT%l9=1x#-gTl4J2uL_|KllHA!Z&u4?Q$Ih-k zD@xTqj42ZkGLX6AfX>0V(qVda)2o`gQO73;-4UsB2eG4m^WJq$iL|BS^hs$;-ilDT#Z* z3tZ}oRDYhS5Ria9Ixxnoqp9)X2ZwrlYTfjVmu4h^R%g&_W(0e}lb9ag)5M5pJHyRT zgjm$=w*)uCA%`$!DPd=(%K**KemuLgR*z+oazd(XXj*DEg9F<%!~_Y zVxLeMWz6whvzSB1nW_7FUsYvdZeB;O{cSkVy?n=zhaoq6%7y$-5DDF+MmzUVjY@`$ zqmm05Ij(+H_X&9d4U3^wHv*E<<$@oC$dyRW;&+|hUXeFWvQDs*Ih3qdJMR2hDMI;6 zrmnU;j%WS&%PdQtL}~+q)?0bHNu-j{YQ3J~%sYXJXDdB*I06M2MCTP;EqdRNbbm&Z ze}4$UDM~V2VWLG2>T>5+-dEB#Qut6MN8!SkBH|+Muw{IMwEX!&^|)>5O;Z;WD|&Qt z=;t31{O5BnOgBIAVtJsv!mBc>71$+DFsV?+i4NDIkoRjee~J zLajh8`4?q-I41^&%Bs}6i9PbEPPe0|u+J5 zv=s1dKZRO4FdsE95WOwA-fng2{K#J5qHOCvrh2cN$Ux)z$n}yiMcVCL{`#39(d~9S z*|bI>Wdw3`VAYLgnV7u^xmXK@UR)$k&yaU?lKE5hR8_;JksHpGQ@>jmangrUoBi#( z#vMNlMAwJ9?@<$jEwg9~L#2Q?57dE(a%vll!9(;SJvvBv_b^)un&dK=xIy(v)A;K8 z3tDLB{;kK}M@#1WNlC5Uov^Q*qJpDJXauQvl^3zGGs(mkfTdBnM7T|1s9wQt;!fY~ z04_Gx2HqYXQzOaD@$h3oIDt=_9&$GZiybPKIQu8cm-L?0f%+Ww(HsPsyoF;*fnl=PH@Gp@?NRELpkB~)2%Wp34g&@rF=`fl=phK2ACF`RO=kGZLgLk5jY zk^x5FvNtigppn#0H%w{5t2mx?ZbezIK5tQADa@=IT=G0HZV1Li6c}v%r8tqtsEO2`bV4t7D0cG_uoUcMh#ODeN^scKZVENwgN?Gn zRn&DKy}*26%4W?tbKlVlQyRZD+fSTu%dN1|>riRNHlM^%Mm(iUmP4QV>#WgMpUA5E zNWuj;qS{+SBj98qbreu%wygSKP0&*5aZvKLGvJqZINVZb?}zVuxLG1Y2~H7TWWt34 zaUx4DH(%BX#)KczD}us=<0X5dc~l;lL|cUUwJjY<$8>E^8J zRe3^mBgpO-w#^yN#`gd?=vy*M={oO*1oUtqou_>Eo9tyWs6GYiW-*sla6aye<48rs z$313yj7xqa$RW7VQ@sheU1CBSVUd5dWI#ni|9Uz)yE!ZHdhlFPt&_aDvL$&HkOtw` zws|>P*ZGzbrh^i`DUUpcxQ!Sj+kBKnWo>>iDCuM z#0Le|PWzsX;{UIWbLy@{VYX;&+qP}n$&Q_LY}-c1wylosj-8HeJJ~VsdHLS%f2gr) z)>v~C$lfP|AOXe|%am(wu8(-8iMpl=GXtg8-5e&44{OgfjSV%Wmz8L|X4fp?+f4=I ziwgIbX;Z#ALYjnKYRrSVXH$j<<@J`w8gDKu@Ci8OYST8x!@+r)X;Gh78QaU%E0ZLRRH^ z(2Nrre|(&RmM*kbB#|(Hlu0A>AYzM$BzewCZ9XzIDT@Xg4TTMAzEjzCmwX z*&;W(ia{UbkpuG)hn9Dew?o=k$^i0>T->0p8!$!$yz7Y*vq%g% z9TK!DYEU>%z`JrB+KPE~sF0YkvP{G7GeMlMr^bP28zH_}ffrcI^B7Ng`55?{Dwyku zXosu|DALBL%d4S%O^|f6NPA{T#eV_?_tgW2O4_87HoHJ#m!&}ik_NqD%(TrLDP5=N zJ8EGdJ?UOWAEq(Z#4-3#6uCnMD2$tn8UCs(nr5U2fBc#y91ZexwP9TQ-LIWBDa^6g2KWbeXlS$5w6gHRH3w%P*r(DZOp{DLB+ zBB!C(vAlB@Oiq!%pn*gJ66(uMb%S42!4OA;qhz3K4V+hO2|?Z%0F&BgD-(J6+|V*i zwzXg*^VSS3`myP}AwKwvibYJ6{tkph@pepRvVOVE)k1qUr)(g1q8k(DRIX$?O zk9|trIZT-|x_77&`1^BYCEKK1{CV0mLYaVX!f&8)({SC>3yy+v1Jv+P{7Z<}ciC^K zpcw`4#CHg4vpcN^w+Z8&UFv1G$UXV!{sGx5)@FgcX?${%NNG{@5SVIxu`UoYuVkA0 znlkgMpZIN?lFQQV}sFw)F9 zOtyEc5LYUQBK#yH>cMl`@JH1#N$dN!tLY*Hzn1{xi9a;H6`xZF#13NF{?^D3y3#?h zSE75|mxGu@!JQ`AgHIK>P^>Az8;W7c)a~b;ApGt*!008_|=a5;rbc3xNaj=wN>x7?P+Dud^~>8!DF+cMg@YO{2$ zt8l9-j5xxMbD76A<}lPLfn|rGGdEF2k8MK>OT_&BIk-Hd+Ec|BK;oeyPt){wyX#!rfW~ySp`OWiJleEsboo>yrI9Gi z4a^0^1%k`uRs?M;^kEY=EPgMX4P!!%1!ozL(D=t4$Y$sJ3@O*Jp3Jyic}rI!;RUu0 zmmL*D1m|L6)1|44kc5`!eIfCgviN?VU^hzn@z%WwusN}~;U|7=LjdY&`X_cWZ z*x9H}p<`}TLxuiWq07AjJ>XXk3aB}?dxH7MtLUh=#L15$z6Sa{FqGi1> z65*Nk%V1?NVeCgi#E2v0Xq_-OO|Jy)UoCumEl0%=bT&Ll3#Xexh84?%abC{I-lduJ zn~TbmlD`@F3?kZb_J|^uD7NN_ucajFz|t8=R4|DPk*6Z~Gw9Be#0(9y8Ipur+8SV% z{O_6IF5@w#W^z_m>S((lmEY=ir^+?o`RE-z$V$)GjJe=VwCQS&lxz<4y%10uA>x)H7;a;R`~eF~Ub2g!z_>{Ar!hu$lx+D_Z3i4CZzUSMB`QsJTiK zQ#h{`$4udB@hFB2L@rX2+0=_v_^reFF)=m>N;-b&Pm^`@>j;l#gnT&b&%fIK5kdXS zN0JDV;|&cR4BATo@BS+ZWse(a!-Tb~wRI8TZ)MjMWg1ec z&nnRV4#t6{$88fO?d{Dd$LYIk8M_>vsR0H1{kVHv?gcPHd5o9kXJ|>B4k8Sr*cB)v z87D+Kuf7fWw|_|c4m8?c9!^jzHq-e2^xH`IVQ6)plicJo-tK#n1(Tl&iu>%F_UkpAv+pO!6AyF*+G|{h^H(#vR=QrC zc$$lbY17^59|R@EuA;yh8_bScFnOb}rI@W9@;1$>8WK*nGd@S5-D+(DGDG1f?F+pH z{D2zq6n46pee03=MiL8m+EY|yJJkIzYH@VWd+?IFxXI0Z&D@ogr}%f&t^(=i;<5

    t70A_(^$#IvF;e&3(sw*=u?c=J3PBf_OGqt-RFsgVixg}JMVGbV` z+E~No96!_r3tg1@$%usZYn|~&|TOwn>YtI*taMKlC z$`v9&ql8i3cOhDKr>Y_AQ8A%?Vvl=$9c9th`Xha0d@1Sm<7WhZk2u0KE3Wo7dD)_& zYqVCJwu%b|;*&pWEB7Nx64Z`hFf3OOGR>BV1HKf23YP$;nzY*JJYP?F6)&CgRaTSw z#=h6fw7_6L&8#t6A?c0MiueJA%mi0;{DLQ1i-7U!fp2$L>l0B#q=MT%?3p ztN3Wc(aJB2Jj-Hg!9_3`{Q;CY5R+PgHNuvt`r8x02|awQ($v!kcoNT{XSwWtOo+}z zkND)&?-QI=fctYfumK`P z*tn&1N8Ipr6XEHiC()@_&eidBB$ld^hlMNh`}>6Z)ADljA1p-|z&{LgFI#Bp>L3vG z3c$ioF#MA6bC-=8-3hXgRlw?cX$hMPT2bih?f3@Axa;v&@vpF9X5FMmuh~sxqJkxS#=_PXsoU3Ev;ip0ZFfd z;%VZ{R$J_-(+N(TE0jnf>+-3su1Yh-Pi)(QwWiO-XEAoYAw0($Wf)0pcIes0l6}bpY@FQ8t9eb@ktDw7jz)h#HHEy6JYC zpc|~fQUg?nyk|s%Tb3a^jM|E4kOZx7%P4mu9_TkBsFv_9u;1cG8z3MQsNLY&mokfe zQ8Hztnzz&(68rl*8jXpg9%ENecA{$@x0sscL&jh6M|CR$w$kr>i9ug|U@=1AJW@ZN z#bbMl%eS6kuhCe0D;H)8MQ)^uM5|5JZ0pU{;x6&HbF!IU`vL^;6c-%-=WV$?ZN6=1 zY``Y!!(Sowebl#mb0`pACb1kR^{d&M7fOh5Ni`fs4}nLNi+4g!*K@BmwD#%X$ytHw z5<5*uE4JEKo?^vD1?7YALVS%t?sVdhH}M+-$uHN|Kz5`+K;S*G&Q%Wr>mA3$fLWqS zNoDhdI`jA#XchzWU2vEI`5yyKSELmox83)lRBF`Far9sVqHkfhD!E~Eq=%HmHXr8G zf7zijaj+y*)f_PlGHC+7ajLr1l%_1OaN|0wg$M*1+%TX26i)9xp8S4rssL&Ae95&BTrh2w9xf-~X zZ`)n=y&E1Y~yx-~0eiy08;yFQ|IRORX{X`MMWGGZmiqE*(p> zLE7Bo>Z#E^-+kc6fliFD!UBH+dq_@7BZd>249W~!#L)rMzvl2h7d-Un2z}ilt>IS~ zSX|a-iZ$t%#!jz)0HfbrZw*Ku(0!L$a}NxDU1+ur!P8)CKQvkbEr z5NWwv6QJoSYNYYQcEpl!z@*W47hFh227P8W2F!3ZjptwZ+Q7v9@-(F6?1Mu$VQsQ* zYA2LvcNY5`#z~4b(cvvD&pBg;;XmC&^2QAWA-eb`^X%Dh>#y58j1Wdm3C*?Tovm;C z6idj;Iuk2Po0T^ox7!`dfZuU1%h9KGRMM(8Qjcz6S5AJ!nH3U&ZX6EK>sKjFa21#F z2^O#kna6osBX~NaRxHaG(n|jfqFss&;(W&VV)cnb z!Ei>}_jaYt8rVP%5sxqFq;h|)_e1c?kgxSE-(W=_PHX*9o0QBZg1bDo$6zu%>r$fk z)xOA8tEFq~k9&&uG}AEFS!>2?_3)@sx|i&#!DCEzme$mW&2#%A5DjS9N>#AT&$2*h zU571>B-?)c4G4Lq;4*W03@QxMS=ked_#c)wS6KM}i%q7A)_$@P*tGYLu(iLsU3q~E zjbk=Mjfb%Rgx7DvP@CM!{|V-w|NJN}2c{S*!P@*!ZH0Q8O; z+p!V-Kq1-e88dn4K8|+4Gpe*FY&9!t5|j}5MqATR`z#a~Ro#>kYxl-vqsxhz|>tZ{mAwUgB36?gNUmRo4oYOuB2u?F7@qzN9qB-mp z7}DBGnI-lgBq-I-fV4K7FDz1fc(?Qjx2`^G!(+HjtkCUdSVe6|nN`o#He<#juqoJi zF!iEE_b@i{;BBIc6J%6w4ycMb2&73{9`jRuC>jc418RE*gGnG%kwm!kBkC9IflcZ# z${?PSQ8@*?p`-+FW?}ii0R7+q$80oneIV<^ zn|3$+KgLfsx{3$$^X0}MRhSnVIUH+>`^9@9mq#-7_-sP~Qp@Jj6FMP9d6d#j=1iw@ zG38lMo;kf%4I_40XF$2C^hVk6U@1{me`-zTCi_X>6?|^8>;C`F>C~NMNa&Ru%SMY{ zHUZ@!oH^kvm6zX?o-44mltsNLQVyCXdgZbUs+Nj%o8F^nw8LzrVc@o!>h`ixobIy+ zqWq;h?RNX^{fut6!$E#`7;o3A2)5@XCG#`=Jv3u2P@4) z9oO6fkU!+c^zvO`S<;{_2X_>%lHn(;dsW#2u%J86@^Y6{zhEJSFs@+_PYYi)Ow7M# zTltTud*7Dm`H9t#TGo{U(vDbeH_Fh+pJn#L5*b1M^x1-kP>bH3uiMy~I?wG=CgACS zYI{}TlPo1=Bo7Ew@qK36aSVj&LKareSyeM{X2VtpPk}^hehts^F1U4%a%(Ep&U!>* ztct_$hv+A+#XTaql=uxWS$*ouv<8cgotY$14xzs$P0Iw;xbdXU<`jtEd=XE-5fS2; z)>ip8kxhED0b+X|(uVVvWAEYFs5nYHYafbGvHnaBB}r_hu+<=tEty2JWPwk{=i6+xU?ZkOw}Z3| zel3`5r)11C2I7G!J^qVx7XaIA|07fgh>zv-_#`fx>{4|&F*4(Qdv~OMG5vKt>1emx zSNUW^KPj`h#DKa_GWGAIQ}o}s7&lJZ>l>#@Sdg3n4=y|tvs^HkGdLr1e1ab=fnfL- zD#=fa_!_)*o811x9;+C{KBQ-CG8W`ru>z0#lpIZbG?J z%B6HHqZg%8tK#OJZVd6POG-@%JQC&lgZQ^qO{hPK^ZL|bgm<8%v6dF}V}x{BDv#y2 zrmL|ga?f6!%f5#O(>a#CBDg3)y<>L<2b#X2WF^ic9!P*`k#X621(3sUU?K4sF!YC( zi@`H{GxA*Xv~LUPWU$BAx)Ejbb8*F4b`RqxoY)|17 z7fLcXtsZ}GJWp@`g>KzTLGn0bGm`y|IbIFh6|s|F?{yB z2J_2lSAwQH$8dAejmO09qlR-+eXBp_`+CBc7IWL*F zVlPi@k;L_Tx$<|6R*+$5MJg=JiV?b7Pxl#thxRvenO#GeY&~DJi~jfQdaHr?Vb=bU zF!+^yLXvKMn)+`)$!{X$%sTiB3npw*JEIexSFwx- z&yA!AjJg+=w+%4IHo`Y-*VqQ13a_kR1ZfnIX9arRFlh}9Y4tWZTRCEflm-QQwwZmj zzj?FP@la;rX%}&*kb78VBglmFhd1?*9&Qa(0bBkZikJ2kEXfbV5HC0&d0pE5A`j*S zKF(mCi6JjIoo!fqz6PI^&#*K?6kKzcK7^wcV87wEhlNX^ZK>RjOHL3q?+8~639m+M z>*H8VX5WfClDwyBoK@u4P^Eze(a{T&5`8Y)EWp6@`?ms=Ae_&+c803}>pnV-hafY9k|4q&?$yGl%qOi$f zDqq1XFw&u0Zq^?l@ko!*=v&f(G2(J=rAOk@Mo~9geQADH?%^j~k%t}FW(IKuBBZ`= zVUlu6u3nNdEM$uAd!R815}}Ze2aZ{w^#bRb#|F5_ z-G`dLeH*e&?ABCC;D}jMIs(ipUb2&ZIT)b&_VT(pFo-kIJ)GGV)tMBDMfV?QX}avQ z!jNL>g@^zWk;&|1=f}R|6%eB{teAb=%H&+;Nk5EZ&h$x|{Cl^9NQTky`bG`I18u zvMp?m!D%SGr|NGM^5Gnt67kc2J7i}iPSe$r)p~#H7MGJaill0xunjDEIw+pdM)FJ= z_zw;zc*+1Y$Cg=#clXeyoRzLl5{0s zU6o9>E=`OmQkwdtdJL1+aPD0YcsNFYRQo5 zVTcTWI=ay51@u8gIbG%dKtsjc2>`FLN?ETKH!eV@s31VIf|lIu$~8|PPwhQ84wlk~ z4Rt9#@qGC_?4x19=e58tTCaJ97axr;IV&%*#Yi{44J5*k^MDBkj(5rXvI)Pdt)!ZB z&IMkN_;Kjhj8=ZqAxI8eUyBAwq5>{WA)2d#w>p*P9=HTbWAbI5MKq%vHp;|WSG_AE zi}WHOO337g#oHU%^FbddK}U8ZO8^DVT$Lft>{;WiJjz8>X>=T}djC^p=7rcdNRr6g z4jNgP83iAj_J@Qc=UiAIgJ`BtvhoA#mtn86u@ty+$^91+hWlv5!5t#$>7aVT!ZVuB zpBI!FBu4d3kjFtg3%NB+jTa{ipl6B4QkQzYM(Q5m6YISB)g*p>j`V^xI4$qZ6=R4zti;Bgi7@Oe919FJvNc*V$9h7#in zX-0U_Mf@w^Okm2Fca%FnX4~_Yh1Wp05(dS242G0*og!vis17pTq~->y8dIjb7R;D> zs687d#JrC!njK~dR$x)GaLLI1ArakaYAlsV7|fm4&ZDYh-%VgI)reL1pJHWR0jkyv znf43*Yi$mt5Z`OaXj?9g;8tfIIm_TloW`*jVPHcA6UV}NlV#4fCIV;QNZ&VpWEv9 zo$Ir#R%DhQBx(LU;t>C`4yLMh1_D^ld&|ZLj}#hpE=wg88~5=;ZlBd~xz$-C{Zmt_ zHF+g|$Lzoz`kXX&)5*3Xq8xneL)^%Oh9{YtkVXr4L(GEqI`*##%94a*vPo@cAE^Jz z{R+_q=!qoG0#Pjc`1*5q%cb-1>33o)i61r9kKS&q4H&J~FAC>J?ldm*Y)9BZK6u}p z{L;u_z1Nf2zToML*7lyPEjU`s#!V30s1aSiLF%>KQr9BCEtM|SXcf3dk%^(K{-fM?I_o(S*!F1~f4rP}8_xI% zKDW*gwMsDhuE`b$Jve7Y*>CKqYYL{@`njn!F7Bp+=b46M=gk$XVF7>uXXSGHKF7Y# zxhB9kTEB965O?B4HoCxmalxTn4PnN|BeL#IgDQYT6P4$m3~+kE&s=inNsZ<=@RR{ zs!CsC=-2EcMVXQb%BsJm<8+XQqQrI~6hQAQwyrZ9&CbLwVW8p9VNFFn#Q0x5``Jsy z>sR<9?Pq;;hwMIIGt4$68c`i7khl_C|3uTw$|Xtk45;Ujh_tK+FW0V2%hV1w>Mv1j zwvyyO;92$W#$-UgNyLdM+$`a|(^8StF=Q^pnL()ijc?c<$s7)1)<$yjCi zt>-R$_Os}xf&3z|%i)?FKvp(YSNwjWYV#F&K=~{IO9y*#YxY@Y$dLSF^ zx*6w9#%o+!sSrueX>x@TZB28lCuCP-sMSoh0D?7KvwEhG@a`pV^wzXA`53mwd)kMg zF(5x$(dtP*@p?dXP8{Vtgi#Gq$!y(2kT5(GAmFiW+qP}nwr$(CZJY1dwr$&<*>AUM zZ-34?B&k#-)k*gQEuQ$i#~)X*|KAN*+rD*W(K3^+l63IzN@)IuqJld{!Bl6~NnPYo z(uVtKZ(oG3ivj*|IvOEJ){ReHF$1eBRAC5EuKH42e)8n=myuR<-t9HkOpEm=Y|nJ2!{kGG`Zss24W^vk8ZD#Kn9Xf2NTNNQt& zW1Mh+_xV4w!>sw=iPBXsRc~P`^YnekmuuWV1NKLZhw?^dRk7n;QlfsCE81tP>*oHR zu!IwC7=#2fpey5O2m75NRiKBz8o@#^&5Fs5lhc6 z@QVJx9>&^lyh()3)_ne>bZ`w7IfBTB-9pyi<&+L$)e%)Pew30A=J!&wz7XB&|F$xE zpvCP8r(*)*{2kiXemdZmziYVr{XhJ z(Mn*9bxfc#Mgvjf7bOw9&)9(6FVmB*%G5|u7>vDft{4VieI!1`>(Bby zWzeps|3nRqhD6SZTl+R7)@de75>W(34FI%6M zj>uy1VkjoS#9MsX+LJ19MX&l|4t<6D8q4W}ee7`R3ncM|~F#j`#kJWDO_4*e9xvUfMU zKeOrHBE@CR8Ar;m5+xM$Kg9(LX)Hyd!-ylhpsdT8j^b^uI5^#Hbhhyh+Sl3+i)Doe zDJEfaSH^1ML;1hSYS-sX@%fkmtlyJ-#38`oRWuEt!v2Egb9ddNv=t3ls2p96j_jaj zC-p3Gxlv?YH4HXEce$AM_m+Z1cH1uN_i8Th#($+B->opw+Sj}bii4sAAcujXUwsG& zpT?P0KgT{{JW0`fTWO~qK>uBmYAgHu+b8QUL+|vIptuqH`c)t5>(HrmtM_(MMnGBe zPePoQ$F7-66gI|pSFIJ3H>2Ps8&hfyKF<*%C@uJHnZ*cP_Sr6@J``O zf8gYX?v}sPHWZ2wtR<(Cb_;0R`^!_8hEkkK|o4r>Y;nL-_7PXX$S^PV7|j) z$o;64A#;UQfgcn@2f{GNU#DZ(qZqHhRm_b^&-yFUyc7}NG;ptP2W?u{2M$EZF{;P$ z{k$Sj;xuv4!EKdiD+5F#u`so*2SPYA}Pmw2(9 zFty;w38NRzA_~ximHu9(qi#{;c9Q`&BCa($(W3bYN+Z`ytk&s0rZTyoyhTl(8p~0v zKV6gQA>f>&{eqde^0`58l+KA|s4M){FF~%xU!nGrQ_5xhlqCjDT z*RQV>!iYP_Ma-k%QASEc)q-2@h&R5e8*+Fa={!(o>akJ8&p#Qu{G;yuP(4a=G2^s@ z$l*^Tk>W8+tJZ`NS@b+C6Cv=|E|lvdbR>xmH~-5cE~)XiMH*8Zdgi$wODPZ0=9YPj zz9FoiT_rMOwG#t;eOfZ4s1bl~-1^$3>jW=zp5dy4$$(dE<562N2vPQQH5=L(%AnG~hUry)O^5Or4^l6P?pR{aV;l8DLDcsB)612?J1GCmcAxWl0IG;LIF#o ztlEsVraluo&IS|SGdJwbNNbZ1ZQrI??hJIZxnUAL{=-*)ADdg+mX^xa)2bTM;PP>0 zJNvI^UQJ@6XxERG*+TP;#r@u_Z#AL+wl@Bf);ukMqTzKJDM&x#n2Dm8bAXXR!FDQX z9mU|3B)O>x=1e%v+14Ov(@l^q+TtmpXNew_*G|XL&gckVnQl&%on3H0^$zhEYNIPc z2l!qJJa7T$2)t{g@!j7dWS^G z*iszKo{RJ3Ab$klB%&iqwBc?Yj&aNS!jXI&@_i~a+Nq0a#9(CWHg}>jg?Sz0;qa#acWNqhv*FEOA3ZHY^vLQ6l^A&8q0ua zB^sv2=%Xwgx3dZt<*f3r;eu?!8X6#o34Y>5SR34ILgki}-QPh5DWP}Y>kiD|Q3y>xjRPx}xrIqB~oI2*3Sl3C(1b+g{{cFrRv=d+8-&CfRsRn=;yVSABMZ zM%YODTmVul+Zdq-ghz-IbRSh2UYJ1j!R(3oQYFLukTntZjEx709JA_T@Eo=e0X=~p zm!+uiqa`L*!diEv2?LA6<*G~(l>nGTZnA`X_N@!tU|mFabb+X_U*WLAfY8F} zzJJ;^=6O^h%(yJZxLHFr3$fhO9CUlAS$j9-+=NK=L_>{oCk*(Zw(R-!_gT#Af!Zvr z4ZHh^`0aGK)`*!v6G8}Y+LWq5IQ{qQ@`#)WfSC~vc3PIKeU&UI_V!~?9dxn&c0~%Y zoQa!zG{y$n^xuIK4}5KB7X2aX(Ii(PD8Cj1$Fg_gm4&Bs+#A2AY(N8RKp-7q>I zbVVR$zF3r-HiHr7t2OdPg5P{wkmwemxm5jYYDOj*5)R`VcuhE5li3UJeGr8n2YL^t zM}1A)#|*ZwmOnxTY$$h=U$~6~=08qi2sHmY4Q8$j=dx%+Xs?&t3wEd-mM{+D{2By{ zeY7O}Oe{9242KxJD&~5)9FncL(u}F|khT#p8xS534;Pz9OhOf?Am$Enz2XljZ+w4t z`VNAST<7w^0@@NJb6=6E!D{+cUe}hR%VO9qUb2yi|{+)|PFbIgP>bo~Xh|g$GMA4_(Ve^)yy~2ZO zoit8TVQKtJtyS#5cLM^oT;WA#(Iw4MNHH?OMe7mZ?%-WoG|eY(*6hfmY+^LSg|ecG z&YtLH3Pk`r6k){H^b}8IDaluPXXse?M+AoP!ZO|vieg@rA z9e&EoMq7?IImhrR+pP(mh?OW{_U0{Dt_BG@R~H!z^?z6Ag{JS_n7w=4E!riR&{GUa ziCijR4r#}~8Jd&^3EH_ZNa2>0o9kk6VHxabkvX%1uWE!-xEkbn&p(1Mty4r#iwIZRf>4!O zQn1fA>FK!T_Z2!P<9xJufn29#a>@Iik-K!^K9Ny$&VD%w$QTR|m60-^Dddd;PJgzk z0wK4s;d3gg)2n*!Z^y(gc!xHxp;O!owp!R>jBos$we9OVV_g7xg}o)mr_FAPi|=NO z2naVJi4En~6YV^||J<}`Di|~&i=~>IG^;gIej5|q`h;)cphA8O{?yT1MqRnZ0Wmhf z#cXH7lOoh=Cgr!wBF72ESnpt1BToCN*%AcZCk7WRah_tqiX1lBTQV|{|7zW$RUZy5Ec<`4yGWl zO{ft5-n&lAj2BzY=0c;EL}?xX1r}n}!=O~!(n!L_NllCr z9*{L!r_NfgkL`8RlFCSd#b$U{NK2ve1$LVlcm?P*frThJ6FpA!AjGicw5EHp)V?(a zDvfS>y0;*ynvVlBeu;XYH{qWzW|9Wmrx4U}lv>4tZPe1#?}nBmmga`yA5^V(2T-|o zN|kEJ&jdr?%1v8FnF!T@XafU$yyoS<(Bak}it^Wn{cgR)P&2N`)9u4^b=d>{5Q+ z+l-xydksv)A+?a&z;wEqfBAXH;&MP69oUZOy~LSEQQ`31{5Enk=eL8h_O^-$x=`nH z5N|ngq^QbUAlleAxpXE8W|oqA z_u;47{t3m$*;$$3KdeAkD2Gt@%RRYr=_4Rt1-!e+%gm^UA?pPk19p{(on@Q*3+iD_ zbPaJ>v+e=TM;Ie;()-<>0=lRUj2PtJrT6w_YMmHzn=29;D*{IP_~c?_XxDP&8Wv3A z>j&lD8GEZEH$(lyY~s*=uHaj9?2{*)kQSd|=|cb>}J05v#5tc~i$I}bcf zD?0BWii@pm4)xU6&rU3Icvw;ov1E@qG-p|*x~rs1SOVq0Xc<8{zCh%q2wZzt8{yiclO(({YMmJ)f`Nn96< zY|s44nW4Cg8*>>X2VID6XXCH;+3QXsihbKw9$(kRYTM~i^ICrBnnDp0hK(kpoMzCb zqd0;sQroOIYba$VrpA`L?rNZVU!S1d?;d6Tw-N0qUGg@2RZyJQl!B z%Q{pH4v7N-0clI5pB{4d-bA&d~SWlAW+V>CXB$ZTe9&Db%CPQ#~{ zGnanzF}N%r^bkB=Vxf#Q^=N(cihH2t0p(wX0_CfpkG=RDwBWfSfufo43G7l{iy9AR zDH-iY>QS{y()paO#S}k+%lhYg?oN&BRY?p@+Q;`%8DgjVz6W7r=Lvtg*^o27LetV{ zz)K9mbEBq{d@o(;PxTaJQeUY!n3ox&Pl?y@iBinBnbt>)O<{D-=E4L}ei&?Z6{TZ6 zAVrGH%$SU~7xxFgo)=E@zcg-^|D|y=a4`OVew&HlKXaSoe`?%}Y|Kn71pl`|(TiEy zxR^Q-(2Lm^x|oWX8rz$gLhEVmkal!+fx5Tv-##Y#-twB~|J?4aStvXg`o?aYY1C3kprl}e#0rLy84(l! z149!t!wZP1p@D!jGB8VUVQ6S#0BT@nW^No%QiR;dz~Imb2p|H3BjW+22XhMSjvw$Y z!Szp0Ps7RsBCrEyt@m)p0*2KAXd;6HqpD*gqXD!I=nDXv-1Qq+82sI`0cL3e$Xe_w zhX}IOxuKbz!ueY@Ffx2sK9g%lAQG4wm_RzUwYLCZ0K@_+#WckLa3(x;EdU9?0s+Cu zPQ%v701_w%L`8xLsA{T6ViMGm)K?YA487}VY%Gj|nY{7qgrusfj9dT`1vya_0U)z_ z1$0z3P3HGek@dU(nmq$>rn>*-^W6pdFPe&~f~fXVMKm$|c!B{y_fHJZ?jFi-`8yQ* zn1j8;x4x+;b0@s$!vZXy!ojie$jHpj&c>LFoEJX0dQb&aqoa%{kAuKWaBD-L>52@?#+## z3&O8Hx-S3r5B*D_f;aM|Hm5fhhu^bEOaR=QonN->KR+8{g!$dU-GN_yR9S#BG&M5+ z^{qcnX6Su=HcdfJNk&CeRIp6<13*j@!Mi0uCaw;SZ`7aiyn=}7E|g9_Kn+bz!09_8 zR8TDF;F{V!&8?w7%>0OvuN)i!w>p`>lvYxNV;GmezYJO0fYCDlQ@d-6p%SQ;23M9u zl#l#8#6LE0JDHd+Wz5@@th0!=DwE4vFXRLZ$1!tckBe%{^kD3-QlId<>MdV z-JRY336On*GmFEEU-vP8Vh=RBfX2|op|0t@dZ=&x71F>m0)V%^={uRtV}$uhR0A6$s5ugFCy#XCmp}gYYy6&JoZ6aWm>SuNKgI?BFiZ_?jm}^7eSV^4 z*l5Gb3=Nw10$mvg98JT-!+6k(_eLR!Gg?G$bi7m+{Db-D?PCr9$byCFA1(7|x0m)zV=@VZxzk**s0KW-f43X6lkrdYRKg#U> zqLDzc0;6aG%mCEj2*>w%Kn;#A_aGTT z*ZY4t=iH2B2mEDy2`ec9K9l5qo!0k8rWgiDLXnMy!24V31!uB~c`CxySo4mBY&rN;t zCz#@<-tQya@-{3eZau&^%m(~JdyzwXwjcl10|NQR_DpksWb+Tcv$^>N+l$`(gY9j0 zeaH4Ozk1Kl>>2xQjk<{yaPz;r|3#4d3#_@T(fzO6SJw~dpEehif7_Y!ip1yj_Jlp&JzVH0G{#F7G`Kd4LH-v-;(A~k@ z?9c#!x4wq_jEw)BH*@m-QmvlrLI2jIJlDSe4*9oG4U7(rj6nK0z?nXA?r9tOD%Pc0 z+?zn6g0devV6ydvslc2VO`A~h)k&7e%x2ewUMrVRGt7trF2@TQ+^xri zL9X7hH&5V|Zjw$@Z79yZG1I_gxT#&zL6_rg-=ULj_u=f}GZgn=|AC@gmcKX$HHeoK z*#6^EV7)+cR$+;ARXTWQ^yIl_44SGjhRhz5fr;xCH=qUC_i3NBws0=8j=kN-gqo{G zv(*0)z^zSX#Ae!}{XN3DQKR6>#1eeY$_PGO=(g_vB)NBeIfF~LTUB7J$>p5 zXcG0fE+z5ZBV`@z<|c}ZgP_j=Ou&nDFA1 zsoo@r*BTKnJ%^MXmX{RFh>wW=sK~5%H6eRY1eIFP{-l&qk|*+UwojW%?(VuE7AAILz2rm6vqf<(9~^uBSmY#B^AtYUWCxphDAgT&h9#z&n35}2=>F%7`C~sDObi!VPpcjB#5&-?a znj~z8C1-?t#ukp&VUA8%pPG9HO*{qjs4+#x}F0`2i0fN+N0^WagP7Jrby&hS+&M^88t? zaMtQBz;&sdz~!b-;1-`lttA7w8+{rM*#Tt%J=<34OUH(-f4ll}+DB>yL8F^0)8d-| z6mYc;90O-A%%=`A?wJfVaSR~xG{B*!RN25yKI$Q#t^)$Bo0COKucB&RzvK2bEh_T_} z{JF`SMBt`%YLenD=`p04biATLC>tt9>yKsoc)KGwP*_3AXuiE2d0V@yv5G282FZap zH8bXIm`~rFY9{GNuQFF3t;sU!f${9q=ury`@>+|512vSwuRX&rCN(qc)uA|5!W@=Y<*Bf|Q z-C59g63^xZAr*9b;NC-&N0wm!x+@^n6M?QF!##4SX8`D)siC0Joai$8C>(Wb;;xnB zk!0ws?3sH02Q0Yx0?{EVRE6(XtOo6q{21U=72<%_C#4hk-uy!Lc@gLG=jLz>llD}! z!Vm>%Iml;9*xB|o>3&RC*h_JD31lD1jxV*dUG3)y@%PJv)v-uw_Yw35`*x8i64cwC zX_`AR1LbR-ONc1Eo4h+}p~r#upq`kbr^h-?S7%g>_I#rVjmi3BGHGsL;b1k*#EBf8 zcjR(#rYw3Na-N?hxtwgq5GD;AS7aiYS+1`qbm7pL>JpxIXbaE2pcRKe9s$)6s zbkv(b&>+E@%GQS8CHW~7RHhHxg_$SEwFtgOp9rNL7>dN)M}*tt<{_6OhW5SK4=@A+ z9wF`U_}3=JVb%^IKd#vJ3e56nYyq@kc zt=4AwsN^I6d@YyihC@rEmO?C1koCL|2ys=W<0X>Wdm0qzv6#`60rtDgaHc!5KOlRK zy7NUdU@rnHv#h&iWBU#>aD3^9Jhv&Uj@MtbB{m|=`KQ85`-@!K(uQf=49gIP94%JRc zal~C8D)EhRh;r}4$R_g3{F$LkNU_(HjphWUgUE=^n_kj4of^=V)NO5DKDqMstV1!H zqiy<@jLMiU9Grmg2Un_su@io67B~!N znjqKT@#ql&yv&ZS&DeE2TzAX(sbBsyaC`IcSAyG>;>igtx%dAvojPm58D{HM5H#yM zKrl?P6I(fPg+KU*FK!^dzTe8`RRWIBpa&q(F2nViGed#JdchE@b%nl=MK?rO9w1L% zcgj%&No|4~6$v`d){`XP%8i3xH~lWTj+0?O-p3W}nO9tNBHCy{C3>JV`582h}`$acy(^+zf8wxz0!-Iqj2eYFRB=iJ5z10SL*+-u4OC`Vk zjx2BXP}NGo>fm9KY&V zct9BOpF(1ACU0Q!fuF_haL%P;jJ6`Av#8FcNE4bH#rQfMYp6F+(>X1PT73Cav@`}C z@S>L+2!-Y7B`jYYBaND{_j*34iomYwFzLEyBNZQ&1-;ir-P23#(p>A=jdzQr(lhy{ zdAb*7#x&yF&iCg>4lyp6^lNrL*RDmxy#!7Qn~_)3(Fk?C@gY|Vyrr*LS1v@lYV7gD z&J&KnAIy$$X=YSH3;fMON8@UAooT;*0k{wZoHP~mt%U_#(CGke5~zx4uuFNnC37VB zS%F%4s`=AP=}A3SVw7ay2JXlOzuv3(J^o9T61&xzHG#O_4Uj+I+8FuC6}UmBB!^pY zkjOT+4Do2jAjA&8r4Iy;%V~UTSz)GbgFn zve>Z<^@|dzvv!2*MF4kNU1RfR5XvRiW=E45GcRfPfXEGTRoi4t0DBr-w|4~6{0R5^ z1y*mXr+`dav(iuSciS(Vmw`Y1?DwXL5BLzSLPUd*6oFZ*=YrMDLMGmcAa^>2-@^n~ zY{{@q?6}>cJvt;WewVMR1*iK6Dtjw=u?KL$-S-FP&1S07J)=lB$4pRbDYD$=#p4B- zkn?F}gA-(f9;F2?N#aI3$;Gn$RF++M!J392tMtv-KEiA&90vpYd>s6VP|bb zzf6_}_t8vQlP_G0hBWzsMY0PTJRNU!)N;m4x~85P>EEn|A00mZ+=e4xb(qQ>)Zgb! zEoypin??(yHqV!V`3_3(X(rUmj6>^-U?V%lA&NPu(7AKdC;)!*i4UWXO3~r|)4s)u zm#&4bqJ4$jD0S8znc$gU=h0F`FUhER#gggl;?}vB>LBnb_Z6n?VM5w#yv92;%W0}= zmY2K}=r++0uTD<9JDxhj0yRxDy4DS@@tOYOq$$0y-ySXR7v`OL2*m9WQTJ_z8NC+< zr;rfdRTB1%@22}w8=1i%v`0SXH;m)E$wmUb*zbp=FGYM+nhSSo&Ft$C01=XP z_}pebh|9tvuabO)9W5H;-G{Uz^+ng1~X&6iQMX>$+bxN9_H8vM0zG$Kp zQe*Y^cp;&3;LLN4eWKt%F-q_mg=}Kz6TMf2n^RFTQ_mZ#3=}{49J} zxY0vSfR`1KdM46fkUvo;P?={oCE{!+kCrm3F(Th2klxAsj1P0C(Tm9-RiOh%*CqE` zteC?~jParq8@}N{X`7DFO%2gFpT62F+8!vD-Cv|W!*uObUtH}x#u5BF-aqe@Tj7pN ziMZc4(B=0dIL}vPF4OffpdY%UM$MnLz$FYq#vgD{^>>Y4Z|OwpU|)r1t_`;rPDnK> zgySKhqewM-!}(_b_lv9Yu;p3fh&>y*`EHLIj>{4*Q%N8P^AJd1Xu^Un^b!@r_-q^O zpqWqm>n4d&i20QvPyy+*FDn=8NO;}x1qz!_rrX@QA&_Y|iF?Z>C~4B*p1#Dc+&l=l z)=v(IwLp^k=1N)I8H~!Bg&6fAQ9fQ;t})n5DQbX7%`KS?aJzuTfIrH7@fyZ=pvi1t2eBZf%OT}K~yfO+3a0{309D@+6iv4lz zoy(hX>G1%~9u+a!^-v#oC!M4eTB}c+V?u+9eC@%}XNAW7cZ80EdP=ObdDg`{xe6-( z$=)8Wk9_g((On!~w6-rsct`k3xEv0x%${O_2`-TouoV)BsO6|BQa;Mm>-fn)DQ(`( z&B6-_K{SrY2FA+g#)@DB^$wh17XHe2%vS;kECO0IJ47#pTDLLo-W>ir4OkS;0in90 z9BF?cz#uXdhqy;YG?d>w^6^-qh`$w-7);R&700{pK@r{y3S0i^ije;a^&5T>e7zgL z6?9}i9$e8F{mp_~6JaXbYa-EZi$jbT|I}CWxyXI(vYWq310kjd^Tktg;jliaaOx*U z?)HPq;RpyS8z5NK6{lhiGNPX}BcG=}Tq<+RS_Rm}B}BmRKl-C4Sf_=fKIGdU0S=G< ztaZQSKqVb@LeD7d`i0ORbvrFC&u^gDBV0^i;}S+U@XubEF7uZMn^dEBS3WQX&x|(Z zx)>~d5^0R{M2^r*mG?y;2_#5ww1|?7Yv#|!tk3w)dmDBP&21A+hQ$w!x0AIX!MZ*p zJbLA_0G6+U4T{^8rOTzrj(Oo@7Lm3>RnW$oA4>Sm%)7~W#+Pke0ft{hRJgb~d#9@S@qY|Z8xg?*92Bek`?gUW}Le_HCGt`3m)UNLXKIv)Q~ z?xk%#vIsvnOL2`2$GLsPXEUXz&kA3`&kcJm9BTKH->270!wySSuJ$Oc-CV)k%Y2GO zZb3c`u(W~F$8n3WSt?3X!}?JxRV59bF(rmhkhXSD4D7z^~2G=g7WJiZOtzFM{RTc(rgKb%{ zC0w0(y)&FlrTJ)ff3$X6C9y13T_-e3PQ4IyqB`M4kR-?waWEV=7z#PIlcDfxaY!ve z2>`AfOj!@8q_f|WVF`m@<^g$MH8?aar09?AJF{&2}N8P=!Krp2BVA9?pLytQb1D14nZuh-Hm}%c^ZcE9ZL}B1Q}Q{Hq?U<~O0k zkNLj-p}IlpHZ)>&!o*uqIw72WY*imjEbp=+lG>@CeqsrVZ@rZ2xcaS?mo8Yln zDkwuaj2N~Lm8m9zI5SHQX)lbw%)afuQ=2j})M(WYYpX3r?L6;T_t*Wqf&{c?h2MdQ zY~5xW%GtkN+_tu!>aHiH+?k~Flgz-b{syc|LfGGd8Tf!gIKu0!3zf zq(I^Fb>GzI5*@V-i}!TVI7iJ9 zg8W~Zosef-mUD>jtlg&u#W)OhKtdbs*+~u7UJk_Ytc^Gx+ zuQD+XmGU5`T(`8z;eh18k0#IQbUy{Mk%RDOBwlraj0EVfhB$MFbxiswQW7Ngt*KN@ zyG2w{PB>NigTIg9_xt<7GdG?=8E?{b?_c_C)>MUQ#m#FQrZFTZtmZ4G|Hi0I zl{CdPGgI{t%{^KIJSgv|MT@~-x!?@5Bj`pkEP6$@?Ig}#v+QFetLd_B5SDDpxjf01dTIWQ9jt*&A38<>}_E3k^S&f!@0vl z_Xd>YoVr!IcNP7<=M68u>>qu-eK&V-c~lupFaQta=KfB8$I z`VjoMpH6H_f#rKcHof2goD*;zr?2>*t?#F%b+c_`iI1N7np00K>T ztRq{+Oi@A5ls5L$;!5J7u-l=^iXXtFpbwz*I0&w4(bS;+<9V|C5}KN=B!wP7pSdMy zFV@AYHlqHJ_W1dwA04kCtmK=jRBKgSQs}qy60@v2iMmn$7J^L&q}Zw6nYU=uwWTJo^|l z)OzX!IuR0vnK-5;eU{hLI#UsfwiWZVgUKo{}ME&wU1pHS~Gn z3YK$%GI8?x7Np)9E-q|<1_;Orq1`%{ruvA6mS%>2Rnqg_rT^q!oM^6iXu)$$qkj$P zl$o>-oVxrzpLvHGl(>uTVrrb?2aQj=dm;N;9zf$pAtKvuQhw|rc@LzSSX$rH@Oxk_*^#jkuym!70-3v zTOdU4hcBkFCxa3(!YQ7mQ&byI;JiWAMYXQ0is;5fJQThoh?f;Q*%A0MP?w0&JV z*_o2bYT?lSTm1YKFI)8z++#-;yoR4!S>1Ar-L#!qc4CobU#hh_pFTFR%c)7mqg$>K zN&b5@NABFdcyfz>pFjQZC^Q{t z;@mnz|1k7%aF}4g-;DioO|#e2DJ6)|=x)L1V@&$E@*hlzJXnJx!9c9|&;$?1M<`*e zdxPjv;uo@Rx!e12dlhHk;9BlikNYsC;TvxaK=h60mOr8uA6e^4Z5H4tRgRYP<4XKK zpt8MP6IXGMBT5;f6qWn1PMROwlr!Y+Pf;gl1%Yvqxv(Y1?*m{UD8+mm562pw4b2;W z$l#{D)gBw$aMq)gxa7<$&24Yg?gb)+(JL7eWAxXZu0B$#J}3lqP~{`v3+pXO1{F;y zMB)VQWSCY94;iS#l$0O8?(?^OwDroGL;t9QL$p!Hz3vH^X ze2cYo5TCJhw-?>%&ih2!isKBaYirFHd=IeLJ0n>v%%|1U0W46|2`xml`u7jff(KQI z@6@gh?Sz-74o0rJVa;^)!$pjImo1n0wS^^vK3Uo|tAlJ92UD_{4uz^lOmMASLKl*H z=@Z#syK8)&7Bj)qmKHH)ui3^0?@^yr%YF1=xP`Q@!-RvN<0k^n?3H8OY|u34Hr0Px z9W21}&wepA$U$3s6sfT2U5c;P_6XH67|tvgqVULSw_xGiu4yQ^VPM!^9&eARSVu*F zbU-A=+lBCOOF3xNsM-}UuX2c8-w%zAXLC*_@BM@wOPWf9iI2EmI?y}S-xD7pJC2^( zg_a3q?(rRbAP^u0cK$cRIhl(B>A)yWRDMI_rR8@xYvfQD&c! z;!X+1@WlSAPtA6t$XV5YKanBMD%~C%%1O2pH?}N)1()@1&bCVs~jj)NiR%4T)4TjOvYG?rnFwbzoyieRl={ zp>vIFYQk7-WL~ZzHhD3A7qLfU79A)XN=<|rz|jCeg_|W5k*~4it$y1#4Ui4n^uZ%A*trgb8yO4S%X^2w{zRY5Ih(m0t~X$Y`89;nHmni;3n;`9yW?PD2^ z4k6b9HXItzIi;w=ujoFWRb$)GKCtcI7t_k!*86&6Fh572y4C20t5gtXnEE0l<9^gK zH{{GOtYVXm#-P#Y8 z3Y>F&l1Ta9Edpn7-Vg~1i?jCYh-FIREUu(UCo&EQG+t#nDa?g*viso?p{h-a^-ebl zJjKR-w7h7JZriJqbK6>SbZmZG;m$X$4a-57&n(-8v#=|V7dN+s#{>`s8CrZJl4O1r z!x=f4#QWly*E+TK1cGsV>X$%x zI(G)v4;wMwFm~0D$y(@vnCk<>IeT|=q+^z`-rRIXz`NVnm@IM71CvM*@(s^t6Htb? zy#;lp?zBPJf%xpgyPbN~Ox91|CjOPu99oT)rq&21mDq@|?;|%N3HM`uBC6uf z0*NwK^g5=#5&gC+rth1gz{y^O$eOQa*nhBxe0_Ng`I?1^SO@Q|ho0V3HmhN~PPyXl zw3j|KKg?@1Xeye#+#Q~-NP-^ik;froZC7W#i*pJ1tqytl+{mu$ex6Pxi@C-xiE=$u zREJ3i8H@mfk!O6tj98k(wyvebLh7`3l)6X_eM+#}1{C^+mte;+&G<{$PSL6xHpPTLu!MSQ89( zMi@-Ite3~3#DB7hhO=D3Tn{yrXx~xctz%2T*K3IbX}1twsQ(aWcPL{(@WaIFA~Ax@ z5dZs47d!fxMNjIL^E5*N=DzE7o!daC^(tsPHe|T78(0M}p|oiTIqfp`l^&VH=5SY} zWLMbf*9QmyIcG>D8br^oYn5)R%K7gqb}y>7RDi6l=l0BXIP~Y03vJ{QM6Pz(#oLeo zxEggZGY0-s{q?fkrGBjD@E(y6WEX$9$~)<|ogc*

    mbUy@*?8tx;(5DKI;^Yd*1g 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 literal 0 HcmV?d00001 diff --git a/data/explore_qt_json.rmd b/data/explore_qt_json.rmd index 9d46a4d..6506d87 100644 --- a/data/explore_qt_json.rmd +++ b/data/explore_qt_json.rmd @@ -27,7 +27,6 @@ if (!tinytex::is_tinytex()) { tinytex::install_tinytex() } - # Use p_load to install if not present and load the packages p_load(jsonlite,data.table,rmarkdown,knitr) ``` @@ -57,17 +56,19 @@ 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]) +``` + +```{r simple feilds 2,echo=F} kable(simple_fields, caption = "Summary of simple fields containing a single value") ``` #### Livestock -The livestock level of the json list is a data.table that contains information about livestock herd structure and management, manure management and productivity. +The `json_data$livestock` 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. -```{r livestock 0 ,echo=T} +```{r livestock 0 ,echo=F} livestock<-t(json_data$livestock) # Transpose colnames(livestock)<-paste0("livetype_code_",json_data$livestock$livetype_code) -kable(livestock,caption="Transposed livestock herd data") +kable(livestock,caption="Transposed livestock herd data t(json_data$livestock)") ``` The `livestock` are linked to the `feed_basket$feeds` tables by the `livetype_code` keyfield. @@ -77,13 +78,12 @@ lapply(json_data$feed_basket$feeds,"[[","livestock") # Codes in the feed_basket ``` #### Feed items -The feed_items level of the json list is a data.table that contains information about the production management and context of feed production. +The `json_data$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. -```{r feed items 0 ,echo=T} +```{r feed items 0 ,echo=F} 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") +kable(feed_items,caption="Transposed feed item data t(json_data$feed_items)") ``` The `feed_items` are linked to the `feed_basket$feeds` tables by the `feed_item_code` field. @@ -98,10 +98,10 @@ json_data$feed_items[,c("feed_type_code","feed_type_name","land_cover","land_cov ``` #### Fertilizer -The fertilizer level of the json list is a data.table that contains information about the production management and context of feed production. +The `json_data$fertilizer` level of the json list is a data.table that contains information about the production management and context of feed production. -```{r fertilizer 1,echo=T} -json_data$fertilizer +```{r fertilizer 1,echo=F} +kable(json_data$fertilizer,caption="Fertilizer data input table (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 @@ -118,9 +118,9 @@ fi_cols[fi_cols %in% fertilizers] ``` #### Seasons -The seasons level is simple table that records the length of each season (adding up to 365 days max). -```{r seasons 1,echo=T} -json_data$seasons +The `json_data$season` level of the input data is 2-column table that records the length of each season (adding up to 365 days max). +```{r seasons 1,echo=F} +kable(json_data$seasons,caption="Feed items data input table (json_data$season)") ``` The `season_name` field is the key field that links to the feed basket. @@ -129,31 +129,31 @@ json_data$feed_basket$season_name ``` #### Feed basket -The feed basket data contains `r length(json_data$feed_basket)` levels called -`r paste(names(json_data$feed_basket),collapse=" and ")`. These levels appear to be the same length: `r paste0(names(json_data$feed_basket)," = ", sapply(json_data$feed_basket,length))`. +The `json_data$feed_basket` level of the input data contains a futher `r length(json_data$feed_basket)` list levels called +`r paste(names(json_data$feed_basket),collapse=" and ")`. These sub-levels appear to be the same length: `r paste0(names(json_data$feed_basket)," = ", sapply(json_data$feed_basket,length))`. ##### Seasons -The season object is simple, being a vector containing the names of the seasons: -```{r feed basket seasons,echo=T} -json_data$feed_basket$season_name +The `json_data$feed_basket$season` object is simple, being a vector containing the names of the seasons: +```{r feed basket seasons,echo=F} +kable(json_data$feed_basket$season_name,caption="Feed basket/season data input table (json_data$feed_basket$season)") ``` ##### Feed Basket -The feed basket object is the most structurally complex element of the input json data containing several levels of nesting. +The `json_data$feed_basket$feed` object is the most structurally complex element of the input json data containing several levels of nesting. ```{r feed basket feeds 1 ,echo=T} str(json_data$feed_basket$feeds) ``` 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`. -```{r feed basket feeds 0 ,echo=T} -json_data$feed_basket$feeds[[1]] +```{r feed basket feeds 0 ,echo=F} +kable(json_data$feed_basket$feeds[[1]],caption="Feed basket/feed data input table tablejson_data$feed_basket$feeds[[1]]") ``` The livestock field in the feed basket table contains a list with `r length(json_data$feed_basket$feeds[[1]]$livestock)` 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. -```{r feed basket feeds 2 ,echo=T} -json_data$feed_basket$feeds[[1]]$livestock +```{r feed basket feeds 2 ,echo=F} +kable(json_data$feed_basket$feeds[[1]]$livestock,caption="Feed basket/feed/livestock data input table tablejson_data$feed_basket$feeds[[1]]$livestock") ``` The first element of the livestock list contains no further nesting: @@ -183,13 +183,19 @@ ghg_para$table_5.11 ``` ##### Livestock_parameters +Note there is an invalid character in this table: +```{r ghg_para 3a} +ghg_para$livestock_parameters$`IPCC Category - methane emissions enteric fermentation - Tier 2`[11]<-"Other Cattle or Buffalo - grazing" +``` + + ```{r ghg_para 3} -ghg_para$livestock_parameters +kable(ghg_para$livestock_parameters,caption="ghg_para$livestock_parameters") ``` ##### Fertilizer table ```{r ghg_para 4} -ghg_para$fertilizer_table +kable(ghg_para$fertilizer_table,caption="ghg_para$fertilizer_table") ``` ##### IPCC Tables diff --git a/data/explore_qt_json.tex b/data/explore_qt_json.tex deleted file mode 100644 index e2f16eb..0000000 --- a/data/explore_qt_json.tex +++ /dev/null @@ -1,1852 +0,0 @@ -% Options for packages loaded elsewhere -\PassOptionsToPackage{unicode}{hyperref} -\PassOptionsToPackage{hyphens}{url} -% -\documentclass[ -]{article} -\usepackage{amsmath,amssymb} -\usepackage{lmodern} -\usepackage{iftex} -\ifPDFTeX - \usepackage[T1]{fontenc} - \usepackage[utf8]{inputenc} - \usepackage{textcomp} % provide euro and other symbols -\else % if luatex or xetex - \usepackage{unicode-math} - \defaultfontfeatures{Scale=MatchLowercase} - \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} -\fi -% Use upquote if available, for straight quotes in verbatim environments -\IfFileExists{upquote.sty}{\usepackage{upquote}}{} -\IfFileExists{microtype.sty}{% use microtype if available - \usepackage[]{microtype} - \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts -}{} -\makeatletter -\@ifundefined{KOMAClassName}{% if non-KOMA class - \IfFileExists{parskip.sty}{% - \usepackage{parskip} - }{% else - \setlength{\parindent}{0pt} - \setlength{\parskip}{6pt plus 2pt minus 1pt}} -}{% if KOMA class - \KOMAoptions{parskip=half}} -\makeatother -\usepackage{xcolor} -\usepackage[margin=1in]{geometry} -\usepackage{color} -\usepackage{fancyvrb} -\newcommand{\VerbBar}{|} -\newcommand{\VERB}{\Verb[commandchars=\\\{\}]} -\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} -% Add ',fontsize=\small' for more characters per line -\usepackage{framed} -\definecolor{shadecolor}{RGB}{248,248,248} -\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}} -\newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{#1}} -\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{#1}} -\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} -\newcommand{\BuiltInTok}[1]{#1} -\newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} -\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} -\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{#1}} -\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} -\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{#1}}} -\newcommand{\ExtensionTok}[1]{#1} -\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}} -\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\ImportTok}[1]{#1} -\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}} -\newcommand{\NormalTok}[1]{#1} -\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{#1}}} -\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{#1}} -\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}} -\newcommand{\RegionMarkerTok}[1]{#1} -\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}} -\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}} -\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}} -\usepackage{longtable,booktabs,array} -\usepackage{calc} % for calculating minipage widths -% Correct order of tables after \paragraph or \subparagraph -\usepackage{etoolbox} -\makeatletter -\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} -\makeatother -% Allow footnotes in longtable head/foot -\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} -\makesavenoteenv{longtable} -\usepackage{graphicx} -\makeatletter -\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} -\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} -\makeatother -% Scale images if necessary, so that they will not overflow the page -% margins by default, and it is still possible to overwrite the defaults -% using explicit options in \includegraphics[width, height, ...]{} -\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} -% Set default figure placement to htbp -\makeatletter -\def\fps@figure{htbp} -\makeatother -\setlength{\emergencystretch}{3em} % prevent overfull lines -\providecommand{\tightlist}{% - \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} -\setcounter{secnumdepth}{-\maxdimen} % remove section numbering -\ifLuaTeX - \usepackage{selnolig} % disable illegal ligatures -\fi -\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} -\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available -\urlstyle{same} % disable monospaced font for URLs -\hypersetup{ - pdftitle={Exploration of CLEANED QT json file}, - pdfauthor={Peter Steward}, - hidelinks, - pdfcreator={LaTeX via pandoc}} - -\title{Exploration of CLEANED QT json file} -\author{Peter Steward} -\date{2024-07-01} - -\begin{document} -\maketitle - -{ -\setcounter{tocdepth}{6} -\tableofcontents -} -\begin{verbatim} -## Loading required package: pacman -\end{verbatim} - -\hypertarget{cleaned-data}{% -\subsection{Cleaned Data}\label{cleaned-data}} - -\hypertarget{input-data-structure}{% -\subsubsection{Input data structure}\label{input-data-structure}} - -The aim of this markdown document is to summarize the structure of the -.json object provided from the QT UI. - -\hypertarget{load-the-json-file-into-r}{% -\paragraph{Load the json file into R}\label{load-the-json-file-into-r}} - -\begin{Shaded} -\begin{Highlighting}[] -\CommentTok{\# Read in example json file \#\#\#\#\#} -\NormalTok{json\_data }\OtherTok{\textless{}{-}} \FunctionTok{fromJSON}\NormalTok{(}\StringTok{"qt\_example.json"}\NormalTok{)} - -\CommentTok{\# Summarize level 1 of the list} -\NormalTok{json\_names}\OtherTok{\textless{}{-}}\FunctionTok{data.table}\NormalTok{(}\AttributeTok{field\_name=}\FunctionTok{names}\NormalTok{(json\_data),} - \AttributeTok{class=}\FunctionTok{sapply}\NormalTok{(json\_data,base}\SpecialCharTok{::}\NormalTok{class),} - \AttributeTok{length=}\FunctionTok{sapply}\NormalTok{(json\_data,length))} - -\FunctionTok{kable}\NormalTok{(json\_names, }\AttributeTok{caption =} \StringTok{"Summary of Level 1 of the JSON Object"}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}llr@{}} -\caption{Summary of Level 1 of the JSON Object}\tabularnewline -\toprule() -field\_name & class & length \\ -\midrule() -\endfirsthead -\toprule() -field\_name & class & length \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -\hypertarget{simple-fields}{% -\paragraph{Simple fields}\label{simple-fields}} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{simple\_fields}\OtherTok{\textless{}{-}}\NormalTok{json\_names[class}\SpecialCharTok{!=}\StringTok{"data.frame"} \SpecialCharTok{\&}\NormalTok{ length}\SpecialCharTok{==}\DecValTok{1}\NormalTok{,field\_name]} -\NormalTok{simple\_fields}\OtherTok{\textless{}{-}}\NormalTok{json\_data[json\_names[class}\SpecialCharTok{!=}\StringTok{"data.frame"} \SpecialCharTok{\&}\NormalTok{ length}\SpecialCharTok{==}\DecValTok{1}\NormalTok{,field\_name]]} -\NormalTok{simple\_fields}\OtherTok{\textless{}{-}}\FunctionTok{data.table}\NormalTok{(}\AttributeTok{field=}\FunctionTok{names}\NormalTok{(simple\_fields),} - \AttributeTok{value=}\FunctionTok{unlist}\NormalTok{(simple\_fields),} - \AttributeTok{class=}\NormalTok{json\_names[class}\SpecialCharTok{!=}\StringTok{"data.frame"} \SpecialCharTok{\&}\NormalTok{ length}\SpecialCharTok{==}\DecValTok{1}\NormalTok{,class])} -\FunctionTok{kable}\NormalTok{(simple\_fields, }\AttributeTok{caption =} \StringTok{"Summary of simple fields containing a single value"}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3250}} - >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.5500}} - >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.1250}}@{}} -\caption{Summary of simple fields containing a single -value}\tabularnewline -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -field -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -value -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -class -\end{minipage} \\ -\midrule() -\endfirsthead -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -field -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -value -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -class -\end{minipage} \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -\hypertarget{livestock}{% -\paragraph{Livestock}\label{livestock}} - -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. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{livestock}\OtherTok{\textless{}{-}}\FunctionTok{t}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{livestock) }\CommentTok{\# Transpose} -\FunctionTok{colnames}\NormalTok{(livestock)}\OtherTok{\textless{}{-}}\FunctionTok{paste0}\NormalTok{(}\StringTok{"livetype\_code\_"}\NormalTok{,json\_data}\SpecialCharTok{$}\NormalTok{livestock}\SpecialCharTok{$}\NormalTok{livetype\_code)} -\FunctionTok{kable}\NormalTok{(livestock,}\AttributeTok{caption=}\StringTok{"Transposed livestock herd data"}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2818}} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2273}} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2364}} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2545}}@{}} -\caption{Transposed livestock herd data}\tabularnewline -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -livetype\_code\_2 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -livetype\_code\_1 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -livetype\_code\_5 -\end{minipage} \\ -\midrule() -\endfirsthead -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -livetype\_code\_2 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -livetype\_code\_1 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -livetype\_code\_5 -\end{minipage} \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -The \texttt{livestock} are linked to the \texttt{feed\_basket\$feeds} -tables by the \texttt{livetype\_code} keyfield. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{livestock[,}\FunctionTok{c}\NormalTok{(}\StringTok{"livetype\_code"}\NormalTok{,}\StringTok{"livetype\_desc"}\NormalTok{)] }\CommentTok{\# Codes in the feed\_items table} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## livetype_code livetype_desc -## 1 2 Cattle - Cows (improved) -## 2 1 Cattle - Cows (local) -## 3 5 Cattle - Steers/heifers -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{lapply}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds,}\StringTok{"[["}\NormalTok{,}\StringTok{"livestock"}\NormalTok{) }\CommentTok{\# Codes in the feed\_basket tables} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## [[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 -\end{verbatim} - -\hypertarget{feed-items}{% -\paragraph{Feed items}\label{feed-items}} - -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. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{feed\_items}\OtherTok{\textless{}{-}}\FunctionTok{t}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_items) }\CommentTok{\# Transpose} -\FunctionTok{colnames}\NormalTok{(feed\_items)}\OtherTok{\textless{}{-}}\FunctionTok{paste0}\NormalTok{(}\StringTok{"feed\_item\_code\_"}\NormalTok{,json\_data}\SpecialCharTok{$}\NormalTok{feed\_items}\SpecialCharTok{$}\NormalTok{feed\_item\_code)} -\FunctionTok{kable}\NormalTok{(feed\_items,}\AttributeTok{caption=}\StringTok{"Transposed feed item data"}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.1855}} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2258}} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.3387}}@{}} -\caption{Transposed feed item data}\tabularnewline -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -feed\_item\_code\_65 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -feed\_item\_code\_99 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -feed\_item\_code\_18 -\end{minipage} \\ -\midrule() -\endfirsthead -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -feed\_item\_code\_65 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -feed\_item\_code\_99 -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -feed\_item\_code\_18 -\end{minipage} \\ -\midrule() -\endhead -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 & & & \\ -\bottomrule() -\end{longtable} - -The \texttt{feed\_items} are linked to the \texttt{feed\_basket\$feeds} -tables by the \texttt{feed\_item\_code} field. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_items[,}\FunctionTok{c}\NormalTok{(}\StringTok{"feed\_item\_code"}\NormalTok{,}\StringTok{"feed\_item\_name"}\NormalTok{)] }\CommentTok{\# Codes in the feed\_items table} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## feed_item_code feed_item_name -## 1 65 Oats (Avena sativa) - grain IP -## 2 99 Rice (Oryza sativa) - straw -## 3 18 Cowpea (Vigna unguiculata) - crop residue -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{lapply}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds,}\StringTok{"[["}\NormalTok{,}\StringTok{"feed\_item\_code"}\NormalTok{) }\CommentTok{\# Codes in the feed\_basket tables} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## [[1]] -## [1] "65" "99" "18" -## -## [[2]] -## [1] "65" "99" "18" -\end{verbatim} - -Other keyfields include \texttt{feed\_type\_code} and -\texttt{land\_cover}: - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_items[,}\FunctionTok{c}\NormalTok{(}\StringTok{"feed\_type\_code"}\NormalTok{,}\StringTok{"feed\_type\_name"}\NormalTok{,}\StringTok{"land\_cover"}\NormalTok{,}\StringTok{"land\_cover\_desc"}\NormalTok{)]} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## feed_type_code feed_type_name land_cover land_cover_desc -## 1 2 Avena sativa 7 Cereals -## 2 45 Rice 7 Cereals -## 3 9 Cowpea 1 Dense forest -\end{verbatim} - -\hypertarget{fertilizer}{% -\paragraph{Fertilizer}\label{fertilizer}} - -The fertilizer level of the json list is a data.table that contains -information about the production management and context of feed -production. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{fertilizer} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## fertilizer_code fertilizer_desc fraction percentage_n -## 1 4 Ammonium nitrate 0 12 -## 2 6 N solutions 0 10 -\end{verbatim} - -The values in \texttt{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 - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{fertilizers}\OtherTok{\textless{}{-}}\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{fertilizer}\SpecialCharTok{$}\NormalTok{fertilizer\_desc} -\NormalTok{fi\_cols}\OtherTok{\textless{}{-}}\FunctionTok{colnames}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_items)} - -\CommentTok{\# Reformat fertilizer names to match column names in the feed\_items table} -\NormalTok{(fertilizers}\OtherTok{\textless{}{-}}\FunctionTok{gsub}\NormalTok{(}\StringTok{" "}\NormalTok{,}\StringTok{"\_"}\NormalTok{,}\FunctionTok{tolower}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{fertilizer}\SpecialCharTok{$}\NormalTok{fertilizer\_desc)))} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## [1] "ammonium_nitrate" "n_solutions" -\end{verbatim} - -\begin{Shaded} -\begin{Highlighting}[] -\CommentTok{\# Find matching columns} -\NormalTok{fi\_cols[fi\_cols }\SpecialCharTok{\%in\%}\NormalTok{ fertilizers]} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## [1] "ammonium_nitrate" "n_solutions" -\end{verbatim} - -\hypertarget{seasons}{% -\paragraph{Seasons}\label{seasons}} - -The seasons level is simple table that records the length of each season -(adding up to 365 days max). - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{seasons} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## season_length season_name -## 1 200 Wet season -## 2 165 Dry season -\end{verbatim} - -The \texttt{season\_name} field is the key field that links to the feed -basket. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{season\_name} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## [1] "Wet season" "Dry season" -\end{verbatim} - -\hypertarget{feed-basket}{% -\paragraph{Feed basket}\label{feed-basket}} - -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. - -\hypertarget{seasons-1}{% -\subparagraph{Seasons}\label{seasons-1}} - -The season object is simple, being a vector containing the names of the -seasons: - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{season\_name} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## [1] "Wet season" "Dry season" -\end{verbatim} - -\hypertarget{feed-basket-1}{% -\subparagraph{Feed Basket}\label{feed-basket-1}} - -The feed basket object is the most structurally complex element of the -input json data containing several levels of nesting. - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{str}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds)} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## 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" -\end{verbatim} - -Each feed basket table (e.g., -\texttt{json\_data\$feed\_basket\$feeds{[}{[}1{]}{]}}) is constructed -using key fields that describe feed items found in the -\texttt{json\_data\$feed\_items\ table}, specifically -\texttt{feed\_item\_code} and \texttt{feed\_type\_code.} The feeds are -then allocated to the herd elements described in the -\texttt{json\_data\$livestock\ table}. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds[[}\DecValTok{1}\NormalTok{]]} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## feed_item_code feed_type_code livestock -## 1 65 2 40, 17, 40, 2, 1, 5 -## 2 99 45 25, 43, 20, 2, 1, 5 -## 3 18 9 35, 40, 40, 2, 1, 5 -\end{verbatim} - -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 \texttt{livetype\_code} field serving as the key field linking the -two tables. - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{livestock} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## [[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 -\end{verbatim} - -The first element of the livestock list contains no further nesting: - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{str}\NormalTok{(json\_data}\SpecialCharTok{$}\NormalTok{feed\_basket}\SpecialCharTok{$}\NormalTok{feeds[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{livestock[[}\DecValTok{1}\NormalTok{]])} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## 'data.frame': 3 obs. of 2 variables: -## $ allocation : int 40 17 40 -## $ livetype_code: chr "2" "1" "5" -\end{verbatim} - -\hypertarget{r-project-datasets}{% -\subsubsection{R-project datasets}\label{r-project-datasets}} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{rda\_files}\OtherTok{\textless{}{-}}\FunctionTok{list.files}\NormalTok{(}\StringTok{".rda"}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\hypertarget{ghg-parameters}{% -\paragraph{GHG parameters}\label{ghg-parameters}} - -The ghg para object (\texttt{cleaned/data/ghg\_para.rda}) is a list of -tables that appear to refer to IPCC equations, livestock parameters and -fertilizers. - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{load}\NormalTok{(}\StringTok{"ghg\_para.rda"}\NormalTok{)} - -\CommentTok{\# Summarize level 1 of the list} -\NormalTok{ghg\_names}\OtherTok{\textless{}{-}}\FunctionTok{data.table}\NormalTok{(}\AttributeTok{field\_name=}\FunctionTok{names}\NormalTok{(ghg\_para),} - \AttributeTok{dim=}\FunctionTok{sapply}\NormalTok{(ghg\_para,dim))} - -\FunctionTok{kable}\NormalTok{(ghg\_names,}\AttributeTok{caption=}\StringTok{"Tables within ghg\_names list"}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}ll@{}} -\caption{Tables within ghg\_names list}\tabularnewline -\toprule() -field\_name & dim \\ -\midrule() -\endfirsthead -\toprule() -field\_name & dim \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -The exception is \texttt{ghg\_para\$table\_5.11} which is a list: - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.11} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## $baseline_emission_factor -## [1] 1.3 -## -## $soil_type_scaling_factor -## [1] 1 -\end{verbatim} - -\hypertarget{livestock_parameters}{% -\subparagraph{Livestock\_parameters}\label{livestock_parameters}} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{ghg\_para}\SpecialCharTok{$}\NormalTok{livestock\_parameters} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## livestock_category_name Urinary_energy_frac ash_content -## 1 Cows (local) 0.04 0.08 -## 2 Cows (improved) 0.04 0.08 -## 3 Cows (high productive) 0.04 0.08 -## 4 Adult cattle - male 0.04 0.08 -## 5 Steers/heifers 0.04 0.08 -## 6 Steers/heifers (improved) 0.04 0.08 -## 7 Calves 0.04 0.08 -## 8 Calves (improved) 0.04 0.08 -## 9 Buffalo (dairy) 0.04 0.08 -## 10 Buffalo steers/heifers 0.04 0.08 -## 11 Buffalo calves 0.04 0.08 -## 12 Sheep/Goats - Ewes/Does 0.04 0.08 -## 13 Sheep/Goats - Breeding Rams/Bucks 0.04 0.08 -## 14 Sheep/Goats - Fattening Rams/Bucks 0.04 0.08 -## 15 Sheep/Goats - Lambs/Kids 0.04 0.08 -## 16 Pigs - lactating/pregnant sows 0.02 0.08 -## 17 Pigs - dry sows/boars 0.02 0.08 -## 18 Pigs - growers 0.02 0.08 -## IPCC Category - methane emissions enteric fermentation - Tier 1 -## 1 Other mature female -## 2 Dairy cattle -## 3 Dairy cattle -## 4 Other draft bull -## 5 Other Mature female-grazing -## 6 Other Mature female-grazing -## 7 Other young -## 8 Other young -## 9 Other draft bull -## 10 Other young -## 11 Other young -## 12 Goats -## 13 Goats -## 14 Goats -## 15 Goats -## 16 Pigs -## 17 Pigs -## 18 Pigs -## IPCC Category - methane emissions enteric fermentation - Tier 2 -## 1 Dairy cattle -## 2 Dairy cattle -## 3 Dairy cattle -## 4 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts -## 5 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts -## 6 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts -## 7 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts -## 8 Other Cattle and Buffaloes that are primarily fed low quality crop residues and byproducts -## 9 Other Cattle or Buffalo - grazing -## 10 Other Cattle or Buffalo - grazing -## 11 Other Cattle or Buffalo � grazing -## 12 Sheep -## 13 Sheep -## 14 Sheep -## 15 lambs (less 1 yr old) -## 16 N/A -## 17 N/A -## 18 N/A -## IPCC Category - methane emissions manure - Tier 1 -## 1 Dairy cows -## 2 Dairy cows -## 3 Dairy cows -## 4 Other cattle -## 5 Other cattle -## 6 Other cattle -## 7 Other cattle -## 8 Other cattle -## 9 Buffalo -## 10 Buffalo -## 11 Buffalo -## 12 Sheep -## 13 Sheep -## 14 Sheep -## 15 Sheep -## 16 Swine -## 17 Swine -## 18 Swine -## IPCC-Category - Default N-excretion rates Tier 1 -## 1 Dairy cattle -## 2 Dairy cattle -## 3 Dairy cattle -## 4 Other cattle -## 5 Other cattle -## 6 Other cattle -## 7 Other cattle -## 8 Other cattle -## 9 Other cattle -## 10 Other cattle -## 11 Other cattle -## 12 Sheep -## 13 Sheep -## 14 sheep -## 15 sheep -## 16 pigs -## 17 pigs -## 18 pigs -\end{verbatim} - -\hypertarget{fertilizer-table}{% -\subparagraph{Fertilizer table}\label{fertilizer-table}} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{ghg\_para}\SpecialCharTok{$}\NormalTok{fertilizer\_table} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## fertilizer_type percent_N emission_factor_kg_CO2eq_per_kg N -## 1 DAP 18 2.80 -## 2 CAN 27 8.66 -## 3 Urea NA NA -## 4 NPK NA NA -## 5 Lime-application NA NA -## kg_N_per_1_kg_of_fertilzer emissions_factor_kg_CO2_eq_per_kg_fertilizer -## 1 0.18 0.5040 -## 2 0.27 2.3382 -## 3 NA 0.7850 -## 4 NA 1.2100 -## 5 NA NA -\end{verbatim} - -\hypertarget{ipcc-tables}{% -\subparagraph{IPCC Tables}\label{ipcc-tables}} - -Table\_10.12 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{Table\_10}\FloatTok{.12}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.7778}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.2222}}@{}} -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -animal\_category\_ipcc -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -methane\_conversion\_factor -\end{minipage} \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -table\_10.17 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.17}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -system & mcf\_by\_average\_annual\_temperature \\ -\midrule() -\endhead -Pasture / range / paddock & 0.015 \\ -solid storage & 0.040 \\ -dry lot & 0.015 \\ -\bottomrule() -\end{longtable} - -table\_10.19 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.19}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}llr@{}} -\toprule() -anaimal\_category & Continent & n\_rate \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -table\_10.21 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.21}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -system & direct\_nitrous\_oxide\_factor \\ -\midrule() -\endhead -Pasture / range / paddock & 0.010 \\ -solid storage & 0.005 \\ -dry lot & 0.020 \\ -\bottomrule() -\end{longtable} - -table\_10.22 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_10}\FloatTok{.22}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}llrl@{}} -\toprule() -anaimal\_category & system & fraction\_n\_loss\_mms & range \\ -\midrule() -\endhead -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) \\ -\bottomrule() -\end{longtable} - -table\_10A\_9 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{Table\_10}\FloatTok{.12}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.7778}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.2222}}@{}} -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -animal\_category\_ipcc -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -methane\_conversion\_factor -\end{minipage} \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -table\_11.1\_\&\_table\_11.3 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\StringTok{\textasciigrave{}}\AttributeTok{table\_11.1\_\&\_table\_11.3}\StringTok{\textasciigrave{}}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.0521}} - >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.1534}} - >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.4571}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.1012}} - >{\raggedright\arraybackslash}p{(\columnwidth - 8\tabcolsep) * \real{0.2362}}@{}} -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -emission\_factors -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -unit -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -description -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -n2o\_emissions\_from\_managed\_soils -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -uncertainty\_range -\end{minipage} \\ -\midrule() -\endhead -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 \textgreater{} soil water holding capacity during rainy season \\ -\bottomrule() -\end{longtable} - -table\_2.5 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_2}\FloatTok{.5}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -ghg\_gas & burnt\_emission\_factor \\ -\midrule() -\endhead -CO2 & 1515.00 \\ -CO & 92.00 \\ -CH4 & 2.70 \\ -N2O & 0.07 \\ -Nox & 2.50 \\ -\bottomrule() -\end{longtable} - -table\_5.12 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.12}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.1935}} - >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.3306}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2258}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}}@{}} -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -ecosystem -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright -ecosystem\_type -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -aggregated\_scaling\_factor\_w -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -disaggregated\_scaling\_factor\_w -\end{minipage} \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -table\_5.13 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.13}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.5816}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.1986}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.2199}}@{}} -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -water\_regime -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -aggregated\_scaling\_factor\_p -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -disaggregated\_scaling\_factor\_p -\end{minipage} \\ -\midrule() -\endhead -non-flooded pre-season \textless180 days( often in double cropping of -rice) & 1.22 & 1.00 \\ -non-flooded pre-season \textgreater180 days (single rice crop following -a dry fallow period) & 1.22 & 0.68 \\ -flooded pre-season (\textgreater30 days) & 1.22 & 1.90 \\ -flooded pre-season (\textless30 days) & 1.22 & 0.00 \\ -None & 0.00 & 0.00 \\ -\bottomrule() -\end{longtable} - -table\_5.14 - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{kable}\NormalTok{(ghg\_para}\SpecialCharTok{$}\NormalTok{table\_5}\FloatTok{.14}\NormalTok{)} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.7831}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.2169}}@{}} -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -organic\_amendment -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -conversion\_factor -\end{minipage} \\ -\midrule() -\endhead -straw incorporated in soil shortly (\textless30 days) before cultivation -& 1.00 \\ -straw incorporated in soil long (\textgreater30 days) before cultivation -& 0.29 \\ -Compost & 0.05 \\ -Farm yard manure & 0.14 \\ -green manure & 0.50 \\ -None & 0.00 \\ -\bottomrule() -\end{longtable} - -\hypertarget{stock-change}{% -\paragraph{Stock change}\label{stock-change}} - -The stock change object (\texttt{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. - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{load}\NormalTok{(}\StringTok{"stock\_change\_para.rda"}\NormalTok{)} -\FunctionTok{str}\NormalTok{(stock\_change\_para)} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## 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 -\end{verbatim} - -\hypertarget{grass-factor-variables}{% -\subparagraph{Grass factor variables}\label{grass-factor-variables}} - -\textbf{Grassland: landuse} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{grassland}\SpecialCharTok{$}\NormalTok{landuse[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} -\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -variable & value \\ -\midrule() -\endhead -All & 1 \\ -\bottomrule() -\end{longtable} - -\textbf{Grassland: management} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{grassland}\SpecialCharTok{$}\NormalTok{management[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} -\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -variable & value \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -\textbf{Grassland: input} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{grassland}\SpecialCharTok{$}\NormalTok{input[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} -\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -variable & value \\ -\midrule() -\endhead -Medium & 1.00 \\ -High & 1.11 \\ -none & 1.00 \\ -\bottomrule() -\end{longtable} - -\hypertarget{cropland-factor-variables}{% -\subparagraph{Cropland factor -variables}\label{cropland-factor-variables}} - -\textbf{Cropland: landuse} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{cropland}\SpecialCharTok{$}\NormalTok{landuse[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} -\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{} - >{\raggedright\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.9155}} - >{\raggedleft\arraybackslash}p{(\columnwidth - 2\tabcolsep) * \real{0.0845}}@{}} -\toprule() -\begin{minipage}[b]{\linewidth}\raggedright -variable -\end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft -value -\end{minipage} \\ -\midrule() -\endhead -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 (\textless{} 20 years), temperate/boreal and tropical, dry & -0.93 \\ -Set aside (\textless{} 20 years), temperate/boreal and tropical, -moist/wet & 0.82 \\ -Set aside (\textless{} 20 years),tropical montane, all & 0.88 \\ -\bottomrule() -\end{longtable} - -\textbf{Cropland: tillage} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{cropland}\SpecialCharTok{$}\NormalTok{tillage[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} -\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -variable & value \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -\textbf{Cropland: input} - -\begin{Shaded} -\begin{Highlighting}[] -\NormalTok{x}\OtherTok{\textless{}{-}}\FunctionTok{unlist}\NormalTok{(stock\_change\_para}\SpecialCharTok{$}\NormalTok{cropland}\SpecialCharTok{$}\NormalTok{input[[}\DecValTok{1}\NormalTok{]]}\SpecialCharTok{$}\NormalTok{factor\_variables)} -\FunctionTok{kable}\NormalTok{(}\FunctionTok{data.frame}\NormalTok{(}\AttributeTok{variable=}\FunctionTok{names}\NormalTok{(x),}\AttributeTok{value=}\FunctionTok{as.numeric}\NormalTok{(x)))} -\end{Highlighting} -\end{Shaded} - -\begin{longtable}[]{@{}lr@{}} -\toprule() -variable & value \\ -\midrule() -\endhead -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 \\ -\bottomrule() -\end{longtable} - -\hypertarget{mufindi}{% -\paragraph{mufindi}\label{mufindi}} - -The mufindi object (\texttt{cleaned/data/mufindi.rda}) appears to be an -input dataset similar to the \texttt{qt\_example.json} file. - -\begin{Shaded} -\begin{Highlighting}[] -\FunctionTok{load}\NormalTok{(}\StringTok{"mufindi.rda"}\NormalTok{)} -\FunctionTok{str}\NormalTok{(mufindi)} -\end{Highlighting} -\end{Shaded} - -\begin{verbatim} -## 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 -\end{verbatim} - -\end{document} From c0781db1ee0a0907583b4909c3df79497c94c815 Mon Sep 17 00:00:00 2001 From: Steward Date: Tue, 9 Jul 2024 12:19:28 +0300 Subject: [PATCH 03/28] adding exploration of sqfile --- data/cleaned_20220225.sqlite | Bin 0 -> 450560 bytes data/explore_qt_json.rmd | 6 +++--- data/explore_sql.R | 13 +++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 data/cleaned_20220225.sqlite create mode 100644 data/explore_sql.R diff --git a/data/cleaned_20220225.sqlite b/data/cleaned_20220225.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..cd4fc1bba7f63f9d7da13fb2fcc2ebfdc01772d3 GIT binary patch literal 450560 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 Date: Wed, 10 Jul 2024 14:58:46 +0300 Subject: [PATCH 04/28] cleaned.sqlite added --- ...cleaned_20220225.sqlite => cleaned.sqlite} | Bin 450560 -> 450560 bytes data/explore_qt_json.html | 876 +++++++++++++++++- data/explore_qt_json.pdf | Bin 236745 -> 298673 bytes data/explore_qt_json.rmd | 102 +- 4 files changed, 963 insertions(+), 15 deletions(-) rename data/{cleaned_20220225.sqlite => cleaned.sqlite} (92%) diff --git a/data/cleaned_20220225.sqlite b/data/cleaned.sqlite similarity index 92% rename from data/cleaned_20220225.sqlite rename to data/cleaned.sqlite index cd4fc1bba7f63f9d7da13fb2fcc2ebfdc01772d3..e22d7554d5633cc30881cccb1367767c4fd32a7f 100644 GIT binary patch delta 3827 zcmb_fYfKbZ6rRW3-Pzfhokd>qkPcczp1X*FVyv*B1wSdIpEhaTM*E{yfAmL9nl!PgX=3B!hcW!oCVix>P3)Q771&u^rb!_m zb2;amZ_YjU&N+8ZUM)I#wdkFqtPz4B6u?11D?uQ~yVdpiBSh`tJvQMXK?#dsCp^L< zVNqE8d~#CAah_@b3ul;UD0Li$ROo!vLNB(5j(oq>C(5DgD!5C_FfNm*7l5swr=wskAQiI{86>0U)S$=tXe zRaG&q(XfJLaYPM^BT*bO{ku6IdA*G8$6@tYFd%ASENSCd(b5dvd8ogi=~km5Ej%rb zOG-41#i^h+CQ6DNAE;4H36Ri|R1afsucVA(Z?`1NYT$U>YBsj! zpsp^aO&y<5BU(@y6>G$U%19WWh(f@k2J-~t8t#^C)Y+M;(Wz)URwBVkV?K%;R;N-l zz@6$nvd(xvQaF8@q(Sy3f*~w!flLP=;qWGdQB^7|F!dzWmxY>|Ql&eUnn@gq;82Rp zlC{`_%F38sQZO_vMkZkOeQGEu$9JbRiXmx!Sq^G2-N=#yo}cRJb{ng` z;(XMEP@A7Qs00#w6V?e{ z<#=@rNu#Q&uupfDaHzaIb(5!T=K>lP6glMZbV${9!DfI<^ZPS*+vh)hNFLZNTqjCg z*9h*B>u;{Yb&dOydxIO`?z_*sXZY{<8U74^h`%qq>i$9K7it88-@#|O$M`?pd2YXO zLAWLSZk+kxU~$T&`)Ev>8%3tWL`f|zWxB!C@;9uZudg_*B$`pNmky*oV7Yar@r!Ec z;S79J6D>4_ug6bM%koR~WM?eMrmIL(CtROPd&#u6mtRTulh*oKUIE=mCK{J+YG=8d z=q@s)fTuUEoQ-s6DkrV;WE;~=k$Fnv(G#6#T_N3+%3tamSsuEKT-ho-8|Y>-WwWmA z6oQckvv>7&;NDF4=xN-vD$ep*ba^U`tEPv@%%yd?uDhz}!Kae-L>E{p#H^vbR?UJs z9Iu#8E958Dl`+CdQ`Su-K3O##tCCIJWRe1(D){hrSyBsCmzaX3-t`61s!_*>Ct99@0P0wAkjydAM^YKmZ&7xB(QP z5KsUxJ}gTCC4fzUjes)1vjC%@mIF2eDgavmRe(xB4WJs}1=IrS06rtQ-)di*uq{m3 GC;kO}y}tJV delta 17477 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 B9ghG2 diff --git a/data/explore_qt_json.html b/data/explore_qt_json.html index 67718e8..a1b0ea6 100644 --- a/data/explore_qt_json.html +++ b/data/explore_qt_json.html @@ -13,7 +13,7 @@ -Exploration of CLEANED QT json file +Exploration of CLEANED input files +

+
+
+
Type
+
+ +
+
+
+
+
Grass input level
+ + + + + + + + + + + + + + + + + + + + + + + + + +
grassinputlevel_codegrassinputlevel_descchange_factor
1Medium1.00
2High1.11
3None1.00
+
+
+
Grassland management
+
kable(sq_tables$lkp_grasslandman)
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
management_codemanagement_descchange_factor
1Nominally managed1.00
2Moderately degraded grassland, temperate/boreal0.95
3Moderately degraded grassland, tropical0.97
4Moderately degraded grassland, tropical montane0.96
5Severely degraded0.70
6Improved grassland, temperate/boreal1.14
7Improved grassland, tropical1.17
8Improved grassland, tropical montane1.16
+
+
+
Landcover
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
landcover_codelandcover_descc_factor
1Dense forest0.001
2Other forest0.050
3Badlands hard0.050
4Badlands soft0.400
5Sorghum0.100
6Maize0.100
7Cereals0.150
8Pulses0.150
9Dense grass0.010
10Degraded grass0.050
11Fallow hard0.050
12Fallow plouged0.600
13Ethiopian teff0.250
14Continuous fallow1.000
+
+
+
Livestock type
+
+ +
+
+
+
Manure management
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
manureman_codemanureman_descemission_factor
pasturePasture / range / paddock0.010
storageSolid storage0.005
drylotDry lot0.020
Uncovered anaerobic lagoonUncovered anaerobic lagoon0.000
Liquid/Slurry Pit below animals 1 MonthLiquid/Slurry Pit below animals 1 Month0.000
Liquid/Slurry Pit below animals 3 MonthLiquid/Slurry Pit below animals 3 Month0.000
Liquid/Slurry Pit below animals 4 MonthLiquid/Slurry Pit below animals 4 Month0.000
Liquid/Slurry Pit below animals 6 MonthLiquid/Slurry Pit below animals 6 Month0.000
Liquid/Slurry Pit below animals 12 MonthLiquid/Slurry Pit below animals 12 Month0.000
Cattle and swine deep bedding < 1 monthCattle and swine deep bedding < 1 month0.000
Cattle and swine deep bedding > 1 monthCattle and swine deep bedding > 1 month0.000
Solid storageSolid storage0.000
Solid storage - Covered/compactedSolid storage - Covered/compacted0.000
Solid storage - Bulking agent additionSolid storage - Bulking agent addition0.000
Solid storage - AdditivesSolid storage - Additives0.000
Daily spreadDaily spread0.000
Composting - In-vesselComposting - In-vessel0.000
Composting - Static pile (forced aeration)Composting - Static pile (forced aeration)0.000
Composting - Intensive windrowComposting - Intensive windrow0.000
Composting - Unfrequent turningComposting - Unfrequent turning0.000
Pasture/Range/PaddockPasture/Range/Paddock0.000
Poultry manure with and without litterPoultry manure with and without litter0.000
Aerobic treatmentAerobic treatment0.000
Burned for fuelBurned for fuel0.000
Anaer digester, Low leak, HQ stor, HQ tec.Anaer digester, Low leak, HQ stor, HQ tec.0.000
Anaer digester, Low leak, HQ stor, LQ tecAnaer digester, Low leak, HQ stor, LQ tec0.000
Anaer digester, Low leak, open stor, HQ tecAnaer digester, Low leak, open stor, HQ tec0.000
Anaer digester, High leak, open stor, HQ tecAnaer digester, High leak, open stor, HQ tec0.000
Anaer digester, High leak, LQ stor, LQ tecAnaer digester, High leak, LQ stor, LQ tec0.000
Anaer digester, High leak, open stor, LQ tecAnaer digester, High leak, open stor, LQ tec0.000
+
+
+
Organic matter
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
orgmatter_codeorgmatter_descchange_factor
1Low, temperate/boreal, dry0.95
2Low, temperate/boreal, moist0.92
3Low, tropical, dry0.95
4Low, tropical, moist0.92
5Low, tropical montane, all0.94
6Medium, all1.00
7High w/OUT manure, temperate/boral and tropical, +dry1.04
8High w/OUT manure, temperate/boral and tropical, +moist/wet1.11
9High w/OUT manure, tropical montane1.08
10High with manure, temperate/boral and tropical, +dry1.37
11High with manure, temperate/boral and tropical, +moist/wet1.44
12High with manure, tropical montane1.41
+
+
+
Organic fertilizer
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
fertilizer_codefertilizer_desc
1Urea
3DAP
2NPK
4Ammonium nitrate
5Ammonium sulfate
6N solutions
7Ammonia
8Manure
9Compost
10Other organic N additions
11Bedding material
+
+
+
Slope
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
slope_codeslope_descp_factor
1Flat (0-5%)0.11
2Hilly (5-20%)0.13
3Steep (20-30%)0.22
4Extremely steep (30%+)0.37
5Non-agricultural (all slope categories)1.00
+
+
+
Soil
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
soil_codesoil_desck_value
andosolAndosol0.15
cambisolCambisol0.20
lixisolLixisol0.25
fluvisolFluvisol0.30
vertisolVertisol0.15
phaeozemPhaeozem0.20
nitosolNitosol0.25
xerosolXerosol0.30
+
+
+
Tillage regime
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tillage_codetillage_descchange_factor
1Full1.00
2Reduced, temperate/boreal, dry1.02
3Reduced, temperate/boreal, moist1.08
4Reduced, tropical, dry1.09
5Reduced, tropical, moist1.15
6Reduced, tropical montane, all1.09
7No-till, temperate/boreal, dry1.10
8No-till, temperate/boreal, moist1.15
9No-till, tropical, dry1.17
10No-till, tropical, moist/wet1.22
11No-till, tropical montane, all1.16
+
+ + diff --git a/data/explore_qt_json.pdf b/data/explore_qt_json.pdf index b789959e88a3bc987286ab7ac419f808c59d8caf..9a5ba1d22c6510be694676d2859b07f3f1656263 100644 GIT binary patch delta 220559 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 Date: Thu, 11 Jul 2024 13:45:17 +0300 Subject: [PATCH 05/28] input mapping file created --- data/input_mappings.R | 98 +++++++++++++++++ data/mappings/input_mappings.csv | 176 +++++++++++++++++++++++++++++++ 2 files changed, 274 insertions(+) create mode 100644 data/input_mappings.R create mode 100644 data/mappings/input_mappings.csv diff --git a/data/input_mappings.R b/data/input_mappings.R new file mode 100644 index 0000000..58147a1 --- /dev/null +++ b/data/input_mappings.R @@ -0,0 +1,98 @@ +# 0) Use p_load to install if not present and load the packages #### +pacman::p_load(jsonlite,data.table,rmarkdown,knitr,RSQLite) + +# 1) Set location where field mappings will be saved #### +mappings_dir<-"data/mappings" +if(!dir.exists(mappings_dir)){ + dir.create(mappings_dir) +} + +# 2) Read in example json file ##### +json_data <- fromJSON("data/qt_example.json") + +# 3) Extract all fields and append columns for mapping links ##### +# 3.1) Simple fields ##### +json_names<-data.table(field_name=names(json_data), + class=sapply(json_data,base::class), + length=sapply(json_data,length)) + +simple_fields<-json_names[class!="data.frame" & length==1,field_name] +simple_fields<-json_data[json_names[class!="data.frame" & length==1,field_name]] + + +focal_name<-"input_json" + +field_connections<-list() +field_connections$simple_fields<-data.table(focal_file = focal_name, + focal_path =names(simple_fields), + focal_class=json_names[class!="data.frame" & length==1,class], + focal_example_value=unlist(simple_fields)) +# 3.2) Feed Items ##### +path<-"feed_items" +data<-json_data[[path]] + +field_connections[[path]]<-data.table(focal_file = focal_name, + focal_path =file.path(path,colnames(data)), + focal_class=apply(data,2,class), + focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) +# 3.3) Livestock ##### +path<-"livestock" +data<-json_data[[path]] + +field_connections[[path]]<-data.table(focal_file = focal_name, + focal_path =file.path(path,colnames(data)), + focal_class=apply(data,2,class), + focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) +# 3.4) Seasons ##### +path<-"seasons" +data<-json_data[[path]] + +field_connections[[path]]<-data.table(focal_file = focal_name, + focal_path =file.path(path,colnames(data)), + focal_class=apply(data,2,class), + focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) +# 3.5.1) Feed basket - season ##### +path<-"feed_basket/season_name" +data<-json_data[[dirname(path)]][[basename(path)]] + +field_connections[[path]]<-data.table(focal_file = focal_name, + focal_path =path, + focal_class=class(data), + focal_example_value=paste(unique(data),collapse = "|")) +# 3.5.2) Feed basket - feeds ##### +path<-"feed_basket/feeds" +data<-rbindlist(json_data[[dirname(path)]][[basename(path)]]) +data<-data[,!"livestock"] + +field_connections[[path]]<-data.table(focal_file = focal_name, + focal_path =file.path(path,colnames(data)), + focal_class=apply(data,2,class), + focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) +# 3.5.3) Feed basket - feeds - livestock ##### +path<-"feed_basket/feeds/livestock" +data<-rbindlist(rbindlist(json_data[[strsplit(path,"/")[[1]][1]]][[strsplit(path,"/")[[1]][2]]])[[basename(path)]]) + +field_connections[[path]]<-data.table(focal_file = focal_name, + focal_path =file.path(path,colnames(data)), + focal_class=apply(data,2,class), + focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) +# 3.6) Fertilizer ##### +path<-"fertilizer" +data<-json_data[[path]] + +field_connections[[path]]<-data.table(focal_file = focal_name, + focal_path =file.path(path,colnames(data)), + focal_class=apply(data,2,class), + focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) + +# 3.7) Merge tables and add fields ##### +field_connections<-rbindlist(field_connections) + +field_connections[,focal_userselected:= logical(), # Is the field user-selected in the UI? + ][,focal_free:=logical(), # Is the field free-text? (i.e. it is entered by the user and there is no lookup field) + ][,connected_file:= character(), # The filename of the connected object (focal_free==F) + ][,connected_path:= character(), # The path to the field in the connected object (focal_free==F) + ][,focal_keyfield:= character(), # The key field in the focal table (focal_free==F & focal_userselected==F) + ][,connected_keyfield:= character()] # The key field in the connected table (focal_free==F & focal_userselected==F) +# 4) Save results +fwrite(field_connections,file.path(mappings_dir,"input_mappings.csv")) diff --git a/data/mappings/input_mappings.csv b/data/mappings/input_mappings.csv new file mode 100644 index 0000000..b3d6416 --- /dev/null +++ b/data/mappings/input_mappings.csv @@ -0,0 +1,176 @@ +focal_file,focal_path,focal_class,focal_example_value,focal_userselected,focal_free,connected_file,connected_path,focal_keyfield,connected_keyfield +input_json,annual_prec,integer,1500,,,,,, +input_json,arable_tograssland,integer,0,,,,,, +input_json,climate_zone,character,Temperate,,,,,, +input_json,climate_zone_2,character,Warm Temperate Dry,,,,,, +input_json,cropland_orgmatter,character,"Low, temperate/boreal, dry",,,,,, +input_json,cropland_orgmatter_ipcc,numeric,0.95,,,,,, +input_json,cropland_system,character,"Long term cultivated, temperate/boreal, dry",,,,,, +input_json,cropland_system_ipcc,numeric,0.8,,,,,, +input_json,cropland_tillage,character,Full,,,,,, +input_json,cropland_tillage_ipcc,integer,1,,,,,, +input_json,database_code,character,base,,,,,, +input_json,et,integer,1460,,,,,, +input_json,farm_code,character,001,,,,,, +input_json,farm_name,character,test 3,,,,,, +input_json,grassland_implevel,character,Medium,,,,,, +input_json,grassland_implevel_ipcc,integer,1,,,,,, +input_json,grassland_management,character,Nominally managed,,,,,, +input_json,grassland_management_ipcc,integer,1,,,,,, +input_json,grassland_toarable,integer,0,,,,,, +input_json,purchased_bedding,integer,0,,,,,, +input_json,purchased_compost,integer,0,,,,,, +input_json,purchased_manure,integer,0,,,,,, +input_json,purchased_organic_n,integer,0,,,,,, +input_json,rain_length,integer,5,,,,,, +input_json,region,character,AFRICA,,,,,, +input_json,soil_bulk,integer,6,,,,,, +input_json,soil_c,integer,12,,,,,, +input_json,soil_clay,integer,45,,,,,, +input_json,soil_depth,integer,2,,,,,, +input_json,soil_description,character,Lixisol,,,,,, +input_json,soil_k_value,numeric,0.25,,,,,, +input_json,soil_n,numeric,3.5,,,,,, +input_json,waste_consume_meat,integer,2,,,,,, +input_json,waste_consume_milk,integer,2,,,,,, +input_json,waste_distribution_meat,integer,3,,,,,, +input_json,waste_distribution_milk,integer,3,,,,,, +input_json,waste_processing_meat,integer,5,,,,,, +input_json,waste_processing_milk,integer,5,,,,,, +input_json,waste_production_meat,integer,3,,,,,, +input_json,waste_production_milk,integer,3,,,,,, +input_json,feed_items/ammonia,character,0,,,,,, +input_json,feed_items/ammonium_nitrate,character,0,,,,,, +input_json,feed_items/ammonium_sulfate,character,0,,,,,, +input_json,feed_items/average_dbh25,character,0,,,,,, +input_json,feed_items/average_dbh2550,character,0,,,,,, +input_json,feed_items/average_dbh50,character,0,,,,,, +input_json,feed_items/category,character,cereal|legume,,,,,, +input_json,feed_items/cp_content,character,13.60| 3.85|18.40,,,,,, +input_json,feed_items/cultivation_period,character,0,,,,,, +input_json,feed_items/cut_carry_fraction,character,0,,,,,, +input_json,feed_items/dap,character,0,,,,,, +input_json,feed_items/diameter_breast,character,0,,,,,, +input_json,feed_items/dm_content,character,89.00|91.88|90.00,,,,,, +input_json,feed_items/dry_yield,character,30|15| 8,,,,,, +input_json,feed_items/ecosystem_type,character,"",,,,,, +input_json,feed_items/energy,character, 0|360|336,,,,,, +input_json,feed_items/feed_item_code,character,65|99|18,,,,,, +input_json,feed_items/feed_item_name,character,Oats (Avena sativa) - grain IP|Rice (Oryza sativa) - straw|Cowpea (Vigna unguiculata) - crop residue,,,,,, +input_json,feed_items/feed_type_code,character,2|45|9,,,,,, +input_json,feed_items/feed_type_name,character,Avena sativa|Rice|Cowpea,,,,,, +input_json,feed_items/fraction_as_fertilizer,character,1|0,,,,,, +input_json,feed_items/fraction_as_manure,character,NA,,,,,, +input_json,feed_items/grassman,character,1,,,,,, +input_json,feed_items/grassman_change_factor,character,1,,,,,, +input_json,feed_items/grassman_desc,character,Nominally managed,,,,,, +input_json,feed_items/increase_dbh25,character,0,,,,,, +input_json,feed_items/increase_dbh2550,character,0,,,,,, +input_json,feed_items/increase_dbh50,character,0,,,,,, +input_json,feed_items/intercrop,character,0,,,,,, +input_json,feed_items/intercrop_fraction,character,0,,,,,, +input_json,feed_items/kc_initial,character,0.10|1.05|0.15,,,,,, +input_json,feed_items/kc_late,character,0.55|0.75|0.60,,,,,, +input_json,feed_items/kc_midseason,character,1.10|1.20|1.05,,,,,, +input_json,feed_items/land_cover,character,7|1,,,,,, +input_json,feed_items/land_cover_desc,character,Cereals|Dense forest,,,,,, +input_json,feed_items/landcover_c_factor,character,0.150|0.001,,,,,, +input_json,feed_items/main_n,character,0.0176|0.0090|0.0380,,,,,, +input_json,feed_items/main_product_removal,character,1|0,,,,,, +input_json,feed_items/me_content,character,12.267324| 5.640000| 9.880848,,,,,, +input_json,feed_items/n_content,character,0.2|0.0,,,,,, +input_json,feed_items/n_fertilizer,character,NA,,,,,, +input_json,feed_items/n_solutions,character, 50|300|100,,,,,, +input_json,feed_items/npk,character,0,,,,,, +input_json,feed_items/organic_amendment,character,"",,,,,, +input_json,feed_items/residue_burnt,character,0,,,,,, +input_json,feed_items/residue_dry_yield,character,0|6,,,,,, +input_json,feed_items/residue_n,character,0.0|0.2,,,,,, +input_json,feed_items/residue_removal,character,0.0|0.8,,,,,, +input_json,feed_items/slope,character,1,,,,,, +input_json,feed_items/slope_desc,character,Flat (0-5%),,,,,, +input_json,feed_items/slope_length,character,0,,,,,, +input_json,feed_items/slope_p_factor,character,0.11,,,,,, +input_json,feed_items/source_type,character,Main|Residue,,,,,, +input_json,feed_items/time_horizon,character,0,,,,,, +input_json,feed_items/trees_dhb,character,0,,,,,, +input_json,feed_items/trees_growth,character,0,,,,,, +input_json,feed_items/trees_ha,character,0,,,,,, +input_json,feed_items/trees_ha_dbh25,character,0,,,,,, +input_json,feed_items/trees_ha_dbh2550,character,0,,,,,, +input_json,feed_items/trees_ha_dbh50,character,0,,,,,, +input_json,feed_items/trees_removal,character,0,,,,,, +input_json,feed_items/urea,character,400|700|200,,,,,, +input_json,feed_items/usda_value,character, 0|20450|16062,,,,,, +input_json,feed_items/water_content,character, 0.00|12.89|11.95,,,,,, +input_json,feed_items/water_regime,character,"",,,,,, +input_json,livestock/adult_weight,character,800|400| 0,,,,,, +input_json,livestock/annual_growth,character, 0|90,,,,,, +input_json,livestock/annual_milk,character,3000|1500| 0,,,,,, +input_json,livestock/annual_wool,character,0,,,,,, +input_json,livestock/birth_interval,character,1.166667|1.500000|0.000000,,,,,, +input_json,livestock/body_weight,character,600|350|200,,,,,, +input_json,livestock/body_weight_weaning,character,0,,,,,, +input_json,livestock/body_weight_year_one,character,0,,,,,, +input_json,livestock/carcass_fraction,character,0.48|0.00,,,,,, +input_json,livestock/cp_grazing,character,0|3,,,,,, +input_json,livestock/cp_growth,character,0.0|0.4,,,,,, +input_json,livestock/cp_lactation,character,5|2|0,,,,,, +input_json,livestock/cp_lactmilk,character,0.09|0.00,,,,,, +input_json,livestock/cp_maintenance,character,0.60|0.35|0.20,,,,,, +input_json,livestock/cp_pregnancy,character,12.21| 9.64| 0.00,,,,,, +input_json,livestock/distance_to_pasture,character,0.0|0.5,,,,,, +input_json,livestock/energy_eggcontent,character,0,,,,,, +input_json,livestock/energy_meatcontent,character,2200,,,,,, +input_json,livestock/energy_milkcontent,character,970| 0,,,,,, +input_json,livestock/fat_content,character,4.3|5.8|0.0,,,,,, +input_json,livestock/grazing_displacement,character,0|2,,,,,, +input_json,livestock/herd_composition,character,2|5|0,,,,,, +input_json,livestock/ipcc_ef_category_t1,character,Dairy cattle|Other mature female|Other mature female-grazing,,,,,, +input_json,livestock/ipcc_ef_category_t2,character,Dairy cows|Non-dairy,,,,,, +input_json,livestock/ipcc_meth_man_category,character,Dairy cows|Other cattle,,,,,, +input_json,livestock/ipcc_n_exc_category,character,Dairy cattle|Other cattle,,,,,, +input_json,livestock/lactation_length,character,0,,,,,, +input_json,livestock/litter_size,character,0,,,,,, +input_json,livestock/livetype_code,character,2|1|5,,,,,, +input_json,livestock/livetype_desc,character,Cattle - Cows (improved)|Cattle - Cows (local)|Cattle - Steers/heifers,,,,,, +input_json,livestock/lw_gain,character,0,,,,,, +input_json,livestock/manure_in_field,character,0,,,,,, +input_json,livestock/manure_in_non_roofed_enclosure,character,0,,,,,, +input_json,livestock/manure_in_stable,character,1|0,,,,,, +input_json,livestock/manure_onfarm_fraction,character,1|0,,,,,, +input_json,livestock/manure_sales_fraction,character,0,,,,,, +input_json,livestock/manureman_non_roofed_enclosure,character,Solid storage,,,,,, +input_json,livestock/manureman_offfarm_grazing,character,Solid storage,,,,,, +input_json,livestock/manureman_onfarm_grazing,character,Solid storage|Pasture / range / paddock,,,,,, +input_json,livestock/manureman_stable,character,Solid storage,,,,,, +input_json,livestock/me_grazing,character,2.0|1.5,,,,,, +input_json,livestock/me_growth,character, 0|50,,,,,, +input_json,livestock/me_lactation,character,5|2|0,,,,,, +input_json,livestock/me_lactmilk,character,5.5|0.0,,,,,, +input_json,livestock/me_maintenance,character,60.61547|40.45955|26.59148,,,,,, +input_json,livestock/me_pregnancy,character,1500|1260| 0,,,,,, +input_json,livestock/meat_product,character,beef,,,,,, +input_json,livestock/milk_product,character,cow milk,,,,,, +input_json,livestock/n_content,character,0.029,,,,,, +input_json,livestock/piglets_relying_on_milk,character,0,,,,,, +input_json,livestock/proportion_growth,character,0,,,,,, +input_json,livestock/protein_meatcontent,character,26,,,,,, +input_json,livestock/protein_milkcontent,character,3.7|3.2|0.0,,,,,, +input_json,livestock/time_in_non_roofed_enclosure,character,0,,,,,, +input_json,livestock/time_in_offfarm_grazing,character,0,,,,,, +input_json,livestock/time_in_onfarm_grazing,character,0|1,,,,,, +input_json,livestock/time_in_stable,character,1|0,,,,,, +input_json,livestock/water_requirement,character,140|120| 80,,,,,, +input_json,livestock/work_hour,character,0,,,,,, +input_json,seasons/season_length,character,200|165,,,,,, +input_json,seasons/season_name,character,Wet season|Dry season,,,,,, +input_json,feed_basket/season_name,character,Wet season|Dry season,,,,,, +input_json,feed_basket/feeds/feed_item_code,character,65|99|18,,,,,, +input_json,feed_basket/feeds/feed_type_code,character,2|45|9,,,,,, +input_json,feed_basket/feeds/livestock/allocation,character,40|17|25|43|20|35,,,,,, +input_json,feed_basket/feeds/livestock/livetype_code,character,2|1|5,,,,,, +input_json,fertilizer/fertilizer_code,character,4|6,,,,,, +input_json,fertilizer/fertilizer_desc,character,Ammonium nitrate|N solutions,,,,,, +input_json,fertilizer/fraction,character,0,,,,,, +input_json,fertilizer/percentage_n,character,12|10,,,,,, From bf9dcba6cd5629bc5cede47de6af9e0840a275fd Mon Sep 17 00:00:00 2001 From: Steward Date: Thu, 11 Jul 2024 13:45:40 +0300 Subject: [PATCH 06/28] energy parameters object created --- data/energy_parameters.json | 39 +++++++++++++++++ data/explore_qt_json.html | 81 +++++++++++++++++++++++++++++++++--- data/explore_qt_json.pdf | Bin 298673 -> 301660 bytes data/explore_qt_json.rmd | 24 +++++++---- data/explore_sql.R | 13 ------ 5 files changed, 131 insertions(+), 26 deletions(-) create mode 100644 data/energy_parameters.json delete mode 100644 data/explore_sql.R diff --git a/data/energy_parameters.json b/data/energy_parameters.json new file mode 100644 index 0000000..7a08b3f --- /dev/null +++ b/data/energy_parameters.json @@ -0,0 +1,39 @@ +{ + "Table 10.4": [ + { + "animal_category": "Cattle_Buffalo", + "maintenance_cfi": 0.322, + "comments": "All non-lactating cows, steers, heifers and calves" + }, + { + "animal_category": "Cattle_Buffalo_lactating_cows", + "maintenance_cfi": 0.386, + "comments": "Maintenance energy requirements are 20% higher during lactation" + }, + { + "animal_category": "Cattle_Buffalo_bulls", + "maintenance_cfi": 0.37, + "comments": "Maintenance energy requirements are 15% higher for intact males than non lactating females" + }, + { + "animal_category": "Sheep_lamb_to _1_year", + "maintenance_cfi": 0.236, + "comments": "This value can be increased by 15% for intact males" + }, + { + "animal_category": "Sheep_older_than_1_year", + "maintenance_cfi": 0.217, + "comments": "This value can be increased by 15% for intact males." + }, + { + "animal_category": "Goats", + "maintenance_cfi": 0.315, + "comments": "NA" + }, + { + "animal_category": "Pigs", + "maintenance_cfi": 0.44, + "comments": "NA" + } + ] +} diff --git a/data/explore_qt_json.html b/data/explore_qt_json.html index a1b0ea6..bac0ef2 100644 --- a/data/explore_qt_json.html +++ b/data/explore_qt_json.html @@ -4372,8 +4372,8 @@

Feed Basket
-
-

Explore cleaned/data .rda files

+
+

cleaned cleaned/data .rda files

rda_files<-list.files(".rda")

GHG parameters

@@ -5870,12 +5870,12 @@

mufindi

## $ waste_production_milk : int 0
-
-

Explore cleaned.sqlite file

+
+

cleaned-desktop cleaned.sqlite file

This sqlite database object is found in the qlands/cleaned-desktop github it contains several tables of look-up values.

-
-

Load input json file into R

+
+

Load sqlite file into R

conn <- dbConnect(RSQLite::SQLite(), "cleaned.sqlite")
 tables <- dbListTables(conn)
 print(tables)
@@ -6725,6 +6725,75 @@
Tillage regime
+
+

cleaned-desktop energy_parameters.json file

+

The energy_parameters.json object is found in the qlands/cleaned-desktop +github it contains a single table Table 10.4 that +does not seem to appear in the cleaned/data/ghg_para.rda +object.

+
+

Table 10.4

+
json_data2 <- fromJSON("energy_parameters.json")
+names(json_data2)
+
## [1] "Table 10.4"
+
kable(json_data2$`Table 10.4`)
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
animal_categorymaintenance_cficomments
Cattle_Buffalo0.322All non-lactating cows, steers, heifers and calves
Cattle_Buffalo_lactating_cows0.386Maintenance energy requirements are 20% higher during +lactation
Cattle_Buffalo_bulls0.370Maintenance energy requirements are 15% higher for +intact males than non lactating females
Sheep_lamb_to _1_year0.236This value can be increased by 15% for intact +males
Sheep_older_than_1_year0.217This value can be increased by 15% for intact +males.
Goats0.315NA
Pigs0.440NA
+
+
diff --git a/data/explore_qt_json.pdf b/data/explore_qt_json.pdf index 9a5ba1d22c6510be694676d2859b07f3f1656263..d181acc9546e0f489b5a5fac7e3592353a538d49 100644 GIT binary patch delta 109878 zcmZsiWmFzb^X732?#_)%aCdiicXziWz~Js0T!Rzb-3bJD3-0a?o9B7o|L&f%JD>XW zbXWC!=&I^pUsIcnzSe*qPXWo!21-&vp#jb^r}u{_!iltOOn88v&Ml|lYZpECkE)wNei^*tt8Mz^q@DiZYUJEdSwSO1DhlAI z*cp*!hqK1D-!u9%GaBg#oQN+;D4D2xGHYxDdw$d+yhd$>0en?iw36+^_(rY8{s-yI zrFpVyNCR3v_+WC0_K)wujKPs`Qqg0@QOTweMNa+sw8;vY@X@)wa0WDOy=5aH@-q8B zx#ay{W>Z+tmZ(DN-O_qTaHDcpR;YloO?F9Tf43F@W>-Qt#$GBN!7 z&y63Lcn}znx*XA=5nsR~EBYJE#~U6i${CrIPR3>^%jWh)y6?NQM^2_JNO;MO`5D}> zzmqW8+rfX4${o(_J+Bzz5vJ7kdyp6P&}R}oQ-JW4c#t}2j^{8e`Ib1DO2h|DPGjk$ z6iJRwhuKS{I~4h30e5xoDL7R6Sxi#AEM#UMq~3KtNbwWaFz5Fs3PRE_7Hpb16zZOTa^% zfH@iuMU%dx+BtkunR=W__1u5>>Yrs?DD?;XJl>30(MC{Tq6%}vVrUWg_3QhTLy&oQ zfXZr|AS_ql`N;}rsc2WiUesce4D&@<$uXMdNA#8$*CFw!`*=aSPeC)!)->m0?&&Mx zZrK2?n?r=b#;H`Cteyt=eY!vujz!CR1{~Td>xH?)fS|)L*CpqHS(0ll{V9JtUiMUb zN*Ypc!6P<|;LVWFk=Y3FC6&4iM)Sq<+>PY$CE>6KPmFUCITw$#0K0M!!+%{Ccf)%I*bMpPvmRw@iAf1F(PUin?Y8^edOm0lS$!g;j9DWQ;127S*2MeaNh9pNzjBXD;Vu(7i zpkDAb&bPa7u@v@V(#J)s+2h52%!yMxyw4LFfxMr>c&m|1ecxFHxWCdCVI*(wW-@EDN7@+~Ar8j9CER zd5M!Ku-AlN%N6ncwcxh)_iWcQEb|2wTii8Rt|;Pi2)E6+pPM&nJe}ziS=qoClUQ|1 zf6!5bk@$~7K0W?EA^?v%hdRZrk^LNeK>l8a?;Y_t-S!87o?pvbZonFn=NkO;qxKiJ z!Sh$>oy}#8I2C*WVE*t6iMd0bPo}kz;iBzY|C_d802Bv|KIokNSJKyn(x@wnvhxGd-h{C*1T+(*h#w*d+up>VJ2=^v#I^gj!ueL zBaQWCA@he{DF1jAL|ts{wl2dpWmC}MaO**Z^jA`H*63$%pg2TUHswpYEu&sIny|~Q zYGk%s*)CLUPLJrM){kY-Ha(45#9r~#7@a@=hCc0M$bu72{51R9! zJT878WZ_%xIBBp12w5fc!2s~RCpYZ?*mIW@^DnK;*}4W*H@X(Z&9XCcH4iwM#Oekx zXTlIe6vz;xl4b)uK_vIW?aA0mcrL;9bs0YI#|fZin@N&RrU#`SW?t$Jb%@bB9oEw zm*Bt8yhFDp-CNyqtg7+}!aDP>RTR+7K1mUj|6VcE1Z1WmVy_icH=9Z!?ek*WjEu*& zpFrfc-js79)w8lIj+3v`K=9@X`r?C!a9UrO>~=LFCKi;*%lR5&X;k6!{Zwgf%BCM% z?VwBQyH!z&vCVWmDl*g5BVABvb~mNAN#}!TH`T2u(lFy=&$#JbJ2Ui^4#Jl{@&m&} zF%b`L0gfa+Ze~og%M!Tzd=!gr+x?9Lc=`kg85ps7i{fW%rTb{NT;|Y-V=s|qTRx$3J|(x0>FwL;n$kiaTcM-}dwlbqI?9K^9vU8$_ohoJK_)6AL%pwZmt zQYFpddN2C~Ctxuf#zlhqtva0@zj-_#2dH-|q5MRiYAEf`Vx~%F31gF`*bQ+1;=j{{ z2`~$};>O5`r>lLo^1D0``*G@u2H!&)-jg1)fKw)Y&aE6h zGf|lQxmAVAGy2KIF2~Dk@@jD`5t0MB0O|U>2k)BPSLvaaDJ4T891Pj)v)tm-7<<|S zk47Ii&+B2(V2}vRoGhuZ8^v7m+U0SKHDGvNA3)7dU@~(5XF-_!yLB&rkF6(`Ym-96 z62qKSN97O|8;X4B;~cGw(yz?>u49_~-*)HuabZWIR;)8r2O(`@7`Re!q2)*=f5Nxe zCp8jmY5~7+5Z}w$SPhHf-0s#pItyC7cRb4snN0?4#3Dt7hKp~BPuPJnhW69_Ht@7P z7@wPZk@G@`tCT+~@$G8;-g>DpoG-Q!)~i}=_@|h`A4@MilonW2s+yu-2%kB2yv15!_ig@RX~Uyy+c=(%A3zmtUA{?EL=}eKx|vOP`@G@#pl#$3@+a~>yy8Dz z7iCGk6=eVIhx}WcU0NxA=fmcQQwp4{SP|u)NpXjXIyviXfdo*wl}$v5!ij6reGC6U^Flg4U(=DFd&%Ol0--_AXu1_@&jmrGi?Q@Rc_SI z7cJ*++9Se0uGJ_4#w`NYAv(`Eo7qt@BRuC1`#+D;wsrf3B`0b}cBHP~E{L7_?{|Fh zagvS=p2jx0^$Q8R05qYxSjfVyu}xwqrd6WhN6Y8O86gEZ6ms#)3FNF#UrgB zyTwVgfGWRk!_Jo^nIdw4XcpJNDW|3;k~u7aa2+a_d8hby5^vRS-nrl{&}TKfMN&07 zWLY(*_Q{jg6O;;}pH|i;_$~~^4K11nvymJTH8TQLl@6X3x(5+&mV9be{o2gf=62Z>-%Oao3Ty?-54}q$bIiIJ9x} zzDZ5M;)uafpSMW#FlX3e;ra58?hX#|J znTU-DRy!hW!~L+@$$Y{#YjW{=u}1hugc zB$=7nNos5WML1yFN&znA3!X!3#kE@4Y{rKfP3=iiZOH8KDN1q0+S%=CH5u^16 z%yYdZ_{NYY84J}VcxV6ZAA4LuD%_boS|u#ow33EPKN-&N6?*~@Ph~sjg3N?-(1Hy2 zeDVzVvh;^^xgB9tm2qydYQ7pK`oU^;O(G8jMxx097g-;@$6s7rFzuR}ix8hh6eexH zxD-)Bi_TtnM#a9}KD>M?%y}B(?SrybBNTZ-a9?LmL)@n;5+;MthH+q|=H|zGT+pct zTF_Ay*C*=>^*td7H&+vubLy<)4s-}0-v`@z>ZQhy0TYCJ$G)!*lV`q$j^a0LMGhH2@z`>}aAq{INt%h&DwDM4HI8L7@Mg0CC$+iB(@1X@ttim6+$D8#1N zjGM>DG~g1&D#t3~tn-&uTzwVZeBXX|)fp)EWabWa{&W$VYYiE@hVbe#$zgsAh99eS797M>)_P0MVC>&vpcu}qhh`(NaNm3P8AoMpky3xIdfeq%`GRwP zesbp;_LR4Jt*YK?!JI7hb5UIH&DFoD$8YpA_x0LpX+v79l!EZ$6c( z#~Q^oI#)#7CXbvxB3BOZeJ4Lho6b>o`NQ+SScB*Em#SXs7z6? zaw47gpCtDF8-WNcLeK%$Y(N&D!=>#J7^L+~CIwSjYUsDD)>xY;k#IGKc(!Oe^51+K zZof%(h>Yb`KaX>HYZM||>e>dTnaNh!Dp;1;(Ej4*fP{-*Bt+o@a!x=M+pT|OuepPU zR}!)BV}gzgQUhJ-GS*y%NWf*_`+{5P#3F@@5jNF&3$Z#h`gP3w6PwU+aBcPpAkfOa z`FizjMYuqv0Zy;wTa?VEs>4v*KaNdUzAN%MquN{k2+e1?K(7v-k1pz4`A#~lhB-H& z#{6A|A6ibQY71K!Fd|YrH;%v&>J1r!_C`vCTVU<+Uo;+&&%<@PbSA?c?GV!r4F1k7 ze+11N*jd10{0ow^_g&GO>vV57iaO96M3(3EI2%eK4;ENDByku**&*uGFC4UDyh?Bz z>SbLTBDwe--4e{QuMfT{8oXmfoy*8Cy@_e|p6NyFrQwYcScglULa}+-9`AQ}KK}gr zrQY|h+sMo2cCAPPZNZk%gJ;F{c5f+-JjJEJW!nW`+lD4DKOhtV zpVyiuKR+Z4z$Vu9w%+>N`o9~FT(BMVH%sLj@3+_}UCSH32~U$InHt8* zSErGbhV*=?bZLpu$nzs?3+pz7bpTncZV#kr@&ln)jHb|2DQ8V& zw*3Q-Y(OGK(Tx2DIWetN3iK-0TYL*~9)&w0=5W7gi6e&gJE;#jIl<@~`FSW27!Cnz zLb{nA>~Vau<8PJ<2O7EW+{{7MveAr5xkC~|CR6r9hbWUQnIb^s&}o%Fkz#G=@n+FP zCU*sWWbO&>1XcII5+*5~QRGAe%>Es!y{(peXongf?g{#6Q00S)f5^`r(0u1|5Qjgb7(63X_lhq<{2EzP$!K6JK2m#ps|oH zBiKU_u7rel19(3fUSefQM&A1Hy6}72yT_w-Z?dLUl4Gxs_V`M32Vrm&cP)aTXu zd8)B1K*{zAeD+p1U;X)?9`be%yHpzN5bibI}Vgn-x*?2}_)(Bd%K9*--5^`>O448F!S)X;NlRWE~H1kyWhLfM=$K~uFjhnI^kFp&=Z8=J*numuBeyY}w9OU-MZ)NJizoffmoW^aB2nzBAW(O~ z2I%|o`c-a`6t?s2&M@uQeXtPj9!c5Z`<_rHCEjo%BJXV*feN^5S_v~CEVD;BqL^G+ zQ_OPB%rNG-1k<91%CcD&;WqDF4-ESE?`)JyabQEfS}K?NBxBJ&FskwRo^lks?pv#$ z=>K%x|5M^xB^hyKHIly|IP{PplFPO&g&7(PCTn<(c zGw2`q#m|qxByZtpl?E)8!*hSKkBu#@&t*{tSsZnpQ3^lyO0^#7UoU znNng1!FS$)Do$JYol=vhC^^d}-(O%hg6jE20Fh%yUz~_+&a4=UMs!Z#Mtab+V&%=` z;CM&s>Ifsz&&R|hv`})N-@9Nrk^K3elSz#Q-L4#@`S5B@mG`%>5qg35Qx3`l9 z2gC2Hv#W6YS_{pLe0*LPCzbvIMEUK;@Nsub4SQk}4uS zwRgAqb2!A_T0ZE~PRQj){av8pbzqLi4doB+SkEsc(r}-hxi_#|R7<|7Ov^{cnb+k+ z${5byUUO7yHIyGF@Kn_+NE&Gxla2?pXz$)MOhkntlW;9#FIWDV;G|Vv{l%t`y3Ct> zHkj(8r(QwGDvI|>o0+_9>q0AunwJPzwdjY?WWy(6XPv69bL}l=BR}1JnPaLvEHpL( z*)&NG=8RT~4mDVbxm;jmTdQW!H5XyS8=W@7*wSL)HT9`1raThsNA!2}QDX+)Wz@iQ zO#AHL1vWx|#p;u^u!xUeP?5n$;;#S;8+pkYrz7uy_BjJ{+%`VNAAmNqyt@G~wwK9P zgCM65M@N|i{Vyr2JTsrcY2Qy7IMiJFvgUp1mnor&PI;M#Y4Nv0AYiV) z;K;Am1Y%ce+W}*VFb{s{vSGMBBT*atdl#3CKa4U;lyIxNMN;O~EnF;=&8txcv1e3| zQdFNtKXsKIRb7=QmsBtWqhJ8C9c_Oy(&qHsBs+bZjczs`KxO{%;U4A`b6e(cMdfPU z!41D7%=YB`n{>q`jh_(w5b?H{$$Lz`LHUzMal-ph;;BcOp@Z>Q9E!lx=ltI8f{LL< z#(M3i0*^qv6dI%A?NxPb2`meSnt2V!;lOq>DR*|AtU9G^GYm*ECumcMDXO zc*eRMNlw>yADIX=LQvM$D8259Wejz!0#Hw;b;9n*E zA^E*s`1LvwkSVeT?ebR7AVMj0^F6Mqj8Ihc}zpmF7r70;rXqxh`>?s zCBC(m&6`LJg9S@YtN8;{G`ujNhDgsOwQKUoSbw;x0&3KJjax)IGL!@hRB=^k3=WQyJz^;!~hnmmrKlR;l025M&LO+yQ^*l7mDGtx3=x|JoP+ z$A0)f=E)i&b9l)c{x9qE;We<&#?=Gh)xdW)xY+xZRII4|uKnsLQQTB8gu8REIr9KM z&>sT1jZ^=$38e2oqr1#%+QrKI&mcgC2S~XhcF>lQ4Ab;m#Sg7eo|K(9T^9aTNd!&| z+@d=0p~Qk?VTV&QC?tO#H741dOZFiGMg7S+o}o)PT0Yk@LVW7eO_z|n93YUe{|c-+ z_eOgHuTq`qB%&Mbi&p+_S=gX_WWS%siNCR0o?-mAI>)Y~ngUTaka(Wn>Hq8jm-UWR&p#;DjwEZ)_HfysVjXV znmx&BI?7(BIP-LsV1&JwhZE#t^9?YnWxggt>96&Tx-gnyePGDW^j)_!KP%fnL`UI%`46g$SeZTBa!ty#JW1Ev^RN-QUVTD4QJ+lSi|hIx-ZB-ELhO9 zF=x^CW+9mf8Cls(H+b2j`1gMEcj=JwQc$2;3r>l0pJas3v5{{kgsUz@3mc{L)vhv;?X^RTI zq6nV1d;qlo<+J_L=n^2WrU%&ezGscwWmwy@TrUux{!J^S_nHL+72#ngxSb^{H z-95ezcXz$SD#9)^DVK3*BwF4mw^r-;1RSPaM z$;U-ds8AdUo31q2sUxVaDmc+++HNCMATdd_mAe$Ek=`PEwu>du=73VVMnI-H#3gS zZ2;_S8XZU28goJS*$LKQw7awT@`gQ7aNv zm6fFZvAAbX11 zt*r5NC?bPxLw!%DS;{T?1@}04+#0k$^SiIgHiaZ2RIj5@V!G`uzLxFninT^RHD%5c zf?gNKa#C<>YKySjyEpMz7;21dTCqbDX;MXDTI{6M&wr@$@@ecM*D9f!c3RaM_tvFw ztRxT@*zT2}IVyQM4}~=#TeGP?Ipd3W+)toc;LhsG#i6a7idJ)B9=2PCz1t!kii(FW z1=8Us<`6ewyH*_A&q6;6_FcVU;`WV_&`51*(CH-HT8Os7ZQgitW<<+ECx1(iKld)!pJpF0dR zzw>OZZorSzTzfv)$dlBXZkJQ9!K$g5C8+vtsNV$=8wn8O`qD7yH@-_{h-_PQS4r!X zp-@0p+1-QDMf^KtCh^K%>tATyq&wl?QBKM4>{`yDPMaNDn6ixm(S+XxX{>SpiM@ewiG;M}5(67&CluL< zDi2lp%?4eEl&3^|%G5yFm$mM=i82UqusM`KgV_r`5qRrK&nH(+91v5PWBMQnLAyu| z5u5XKGdAFkTzvZM|L9_43|uwiX~F52xDvM~ATK+Q6*cxg-M*a;tGMN|2LW9nDcc&EK|$ zxV%cS-PcZ5NP)C@TQ0~IKBMF(f7OZN?GC~)BRE?-p|C9iCDEzihsZWmMA*(qK>Rr+ zO$`laUDo1jUFQ>tij{Tv|0@q*<@hJmL9nnUsi@KcomzTMtDOI+13)u4UrKrYFb&?v zTgoJmouLkkk<=9^J5Zrg8IgUatuy)X4J$I2i#;8fSb^1>A${@@9~7?vQ=dn0*vFGA`y|1X`+5cV}&1Gm|G}@9+z(^- z?M4vO)*v^my(#}of&!laf!9ippNzbi@R+2qngfd##2wFIa%t(WCwiiX=e0|U=Yj4| z${|r5Qc1^bnfKgsqdHmK)|nm>3%_&T6JuoTWm3ed4ey>Yo6_~CCp&S`pNwvp3i&gE zB0=J3(du8{aacv^Ojt4xj@&!EwUZrPm#{v6Mwl*Y@pQ}z;XvYMq9@t^N!dX=Gf0*> zaWT5K-u?=YzD@xz*Xft!j_^Ht;kzMc#(FzMk^YhG*PQis>F$6&NF$Y*BCy@|K8aVX znaUQKl4UqVO&DZ40`kS5H1+&1t8w;}z_vm`-?};5Bt)VuPLvO}J*7uX*LRC2jJ$Gq zgs;0tF*i#|yl;T95f7fABZH_deU<(NgRZgJoYyHsA`5+E_`dF%-*W5Fnbt-kfA-`} z*mz?JfY_RE~Jyzne;qQ;N*PPf7Shvp0ZkQwo|({{0Dd1NM~ z38mOD77xG3xY^zdl5&0BFu>rf`!m+CP5S%D!qY?w&Sy0t$E@lg@|+p$BB)OitA!t3 zr6-EBGG0PP#YT{Rxu`lq<*#w$KqgvL`t(!>2UQ!w(asV%q+Uf6ORumDWJF&+Jb}^L zPeBa!(B22Zq$y-nD)o?B=?)a+f;5-veZ8>7moVHw_(LO0ORt2*vpsQ zw30z6WT?QE`GfsznwaH@dxv&S0{YF=-qxPf^i;cLGt2V447w=qdEq8!HaXI;M{EMd z-X6H%6|1LI4p@qMQ;w;#J4*P3yx8Uay8}DK4&|L?48xDzPU2Vig|kTT_?z8+#MqY_ z830CK!k^>_;$GTCLJF)CP)^#&bG+|ea1DD>3Ug6Lh@Dub89yOX`sT0R=YR;6Iy-Xd z9UJSGL3o@_Xc7q7E^DU_>nG5a``&AoD6wmc=}7O=hYc$LPo$q0PD(Ju8Omh_BS-F~ zIO56TUl`Q@p;8*(!Ppe!jD0~P>YRijN@|;jTYF|9t=)2aktTRiU^|I}Nb=#TL_Q(j}m zU@vmsfMJ!XFkqgC*99kdL;r#c;h=V(gA0C_yQ-Zw1^HS z#uag)sj4=6gt{CHZ9&ZPE+G89C!Gxb&0JP8bIF?;jNfTI!1R=nZ6i%naU0c~Qo8W?tH$iTv9>0q28Qc&$Tj-Fcq)mMaTsxgDEUh7>{EikIk$ zcqAhVPVcXwdjFU+yW;$Id#kk;6ILqCtfEJcM1|)W{G}83{*cy79=TA!FrhS_)ZBIi zhdb#q_-l1yFG-Z?78~~TG$Ob?6l|!rpq`!qxp#bkp?P%|o1XRv~4`ICEB2mshTNX(KYdc{ws2XJS7^qkBXmL;= zZVia%2;-2phG0k*{uwMNk{7x>Fi2Gt6SkV36dN*u9d1v!jdv5W-4wMYKmrXy{LXJ<+DnUH>fA?KyTcICh8QR*6zTorI9huIv(0y98M_ECBqe032d{yJO0r%st67^E`Mp;os5YX9=+9Ow?v~pf z?P9l@7sHBuH++{fJ`h_r@~7j7boY7L+iZ}DHi?}NkwXi^#Af}naGDh3g&}kl_&I)H zV&RlvzOtd^3S^buuWE)BKdV9Kf@f{UvLoKJ#RP zpQZc20Rv&{iRHhFmEzeZX3!Lo7OVHzBFY7*Mty7(R|( z!L83)<>yqoMFX>jI^##!x3nFZ_rNsPa^tZ81Jajhsmv#ep>S@7PT zRDkhQ>?gbfznttB9-up9#9MA`fPtYI`Z#Ld7D;3H4Trwb!fN#0ceYF4h@rj0FpbX! zaNKC9p1K;!Jv_By&P;4p>;~esN41Nie9v!38bR0A>l1s1Jgv) z!HLGp&$qL~n0LR&mUTl%KigH5gVnf2pyb~E&FkgKv{u(~r9R5B_BeGib$x%<(|0+? zuu^HYyKV6Px!ewCY>&;D2}kRI;IMsgW&9xO#^Hf{!F||@mF3$n#im|#wi`dfCwm>C zonz=mdFA8f{dKltzZ#S-0s(=QnlhEtNlzOD+ zR@_B_$ky^XtH4^X@SlY=%_RMGTray22Kg^C zz^LC_MubdrJpxCshg@%f0B8S;Au#I4Hdes@b=tD^9UPpyUS)^xug!mb=j}=Ur4985 z$H3p!)LWguL4dQ?TU?Pt{#`}HZ41PIzeVH07zToq`Jc2$gUt4SvK|XF$3N=fB&>H3 z01d%cLj>}Dd2gjvU3KjwfF9AOpFotjmU3;tPp?YT?ZBxDX-u;W$^H~#HrFSDTLrgw zD8Vj!BB8sP7>QtJKUm60Sfl3l6;ms^m(o?&+GZZ5IAj0t2gbg{XZ6pBAtL@Jj*X}Z z!opDc1oobAE6%XIqHu6IGIn8ksO->(0B)~IiKybHb}xq|FY4Z|RXBctzABXL{qX_M)Zm0>|?4 zZjFg8l*hf}-8F6%hOISlSeDrMCFN1;Jf80_c)u&Cv=cUpNm zfyOKA_T3{k?`rh*bK!i#4iiqPfNB=&{)OR&e)oq3pv5?Pephi*_pSZIN2@Et@8w}w zfLQ;%)yR`+%M$SL(yP1v-gWxt)Tvr%y<=m8I5n`pD)#|+^>~`SJ8(^y=5xi$-sm0Q zL)uUENm9EYF23n>SB8%Q8hPT5yz^k|txwH(_nYWe9(4p_wLdRF1eqbdbkDt~HA};jcs@E9}x6sN%5k6ZIeiPAD7laHXIDOOWali}bnffv_t8+d&i_2P)}2Rb2(E zTOZ5Gm4}qhh0gzL1qnnk3u+^kCJ`~kH*fDuy{uUrb?TQv-A58Jg{rlQKfBi@+Zmgn z?mA_q@2=Y#W8As^%!^dFbzR{BWit!%6^l2irW~yY(GdhTpbeCWY!?Lug?;_`~v;Or{7g1(mRM3#|p`dJqKDJ<}YhA$TQy_SK>-M zT(@nqTLgY~I<;tAy4*SE!Yp6PF$^&^mezx6x6*W@^|(T&Y*6_ebiU+;rSxg-znggv z->~ys@t?u}QJa`0KB;YLM5wVjGssySUvoD)djG(F2bW$b%1BDs!T{&~H=H(yL4Yqo zL9#Rd3sNCj+5Xnl<+Q-R>;c#Jp&E4sDc(PlidHq*zq6qq8`M)*b)~0S+91Aq?CwI* zD)Rm&Xo#uz^VD?NP(E_k%iH_W!1~ld;B=k7#*PFBO7|2kZUCy5;vPyyB|0K)F)B=H z>9g_mLcerT-#1n{yErP^K6T;l>vJ4{QLqww%!qvJ2ThC(a9YJF#heBDZCrXu{F+}$ z*Q%lO2ZmJPRTP>uA2)6X{Hk8`jwgCMnOO+Mcv_LuxHjQw%Com*{%kvKp3q7jP40=u zDwV2wlduG8i=r{>3+mA27N9;zsx{aSiY^!-Y4bGNuXD}y(7P8yEvAk04TM`1Hz|xq zO?Gt**sc%;$Q27G`9~zvzwD186hl!$IlJ(NeI`6NAh0Ep($~0%87WT+(*3E>ebz7( z%W)HRj#tC8m%*0PuV@%^h8bb@yIW(RRg5=IFl8a0f}&Sahh-SOB`ga-8DZ8HgjRn< z_)ZD01eP$PBkqcIwObe5O3(dt&Smm`IU44Gtm zxAOp<#iBwVO?0U+8MdJ`UZknlaz*wG!u0Z+u+Y*>>58ov`a4bv%HLvP)pM3OqYsIr ziAeG{Ff7X{(akT^mcE+WuLwJDau!YGC^)3M+(K03@Lad7iR>MJautoifGhTEE?r9m z|HaY+mlExf!jx^rxkm06%~nlP(2Z**nue25rf1FhoZX^o;~TCn-{%L$S92>^*^=yq ze%BZ(8ziyg&7ES!A`4R3*0uAdeJW+G5xh1Ez%(9SYHUHWtqb3rpP*1(IXwNQY4vMb zvEZMM8C!G-7I7F-;$h)Q3SWWW;!tB4C>?xNtRsEz`sSJ%LQ76wN%puFXM)zL^cgF2d_Dk(oE<5cv zsZYQPCdCPS0Ui51;Z~J76c6b@JK^yN1Bn4%e=k@EWVc(%cuXaVd8`tvP&7OONiR7B z>EZC;E;cTbS0LlQW*=o0l&~fWWcqB!TVooD1!}2aMxm8eA||=aOLJ1di`YEfWATp!|+biEJZ%Vm~9ZpIVk*F>*)$3{+X?ze(lFIw3rwQYt#kBB#Rq=*y6H@Up zg=~B!2?j; zccQ3o1NHmwD?B0SgbB*o(YiI3vqKFQa+%8XTGRM%miP|+l~lDB3u1iC)JO9y2hykM z0M6xiHYG;V`(PsePm$Wv*seTN@p7bug4XfV&XkDQhSOG5jYUiiHO`*|Y~*_&qLB^> zz}@Ub7MUkVSVyT5|5(7r$;<&Mnpo*ag@k7ExhHxlrh1Df(iYfje-X{N5 zju5KJ2IgODdkZnsS;+iT|1OBn0t+h3xmdPSDlKpGj_0!I_L=nd4BV_?< z2gVl0#E9Gk+(^WuF#9|q_M7Y|;g}|Nv>E8e;NE6s@|&ip-I~Z*A`*7-tk^$hk!vAE zgZg@w2tUD2s1wNfg0ZM?_VupuZ7SD7BAE5az={Fn55NKUdUpD#K0f^X~U&XKxR8A z46e%KWwScv!>&=lF zOAew@n$R-*mD>^^s8!<3R%yH%jXI-;L{SMvmfkG*X=MLvPd-M?4KIfEYZ0-9QoiZL zviu{FutyH9#n-#3i*%`^qHNe)Jog9}svApKWum(H7efIDd8!|$E;(br3l*0h@fv-Z zO4ZY6-X<*K(+BtE`J~#gBmp8S$9-n8Zz3_19nGs5%??ZRl77ZFGf-`_9qvV^GaZs^ z>`VYhZkj)@iMugc8XqIUlYcj3g^LP@_I7gj&c&0Up)-4S;sctsS-BOv3X2)5+>Y#+ zJXAC~1!@w?SE;dj{O_;*=6=77&dxZ9A1hP@Xb)b)KRh3E{3g2=?tuAitqCToyTv^n zPCBdC7k6$FrblaC#Dl@d!4_@(g*_~x%v7t_4%~&Y^3DFMM`-uz(0Oz44l%>uQODcQ zOg^|1k!_{e%Up1g2XNI4Bt(nt_RBwsJ=5aTv8k%4-A?fdkvSLBIj{W$0yq>svb;XJ zrt-Vg>Y4op9#^kh%mL7?y$bu&8>QOhuj^%;tnkMtCed);ukuGKQ)bd}UwnvWccPdB z-@76ZJnFx8ttS|I-3pQ!O`GAlIBpGlZE9IWJ+?*;6+SxPK}!TC=^We!5L?_XM0m~& zKj=|tO3v#oe-XD9cqd1>Cj2ZCH2dk8 z!m?i$5DV4)#NsukZfM6enRm6ww2yRwjVU&oKr}Zi= z+gVJR07Rn8>bJsau^%9==z)IgFK8}KvHO_uz^k9#vHQ9JhU2*&?XXGniLmR7fO+bj z;qO&WTa++@pC;Z2JIJwD6FEqIaN_R$4o_dT_v*$k2 zsZ&n9GP8U*YA=aeZA*)yc(duD4_c>u^x4>f*kUIO8CchA($ z0rCkWC@N%6sYvKgVkMXa+ox|eVHKSWJ&5M;%H|p-(4~O_h9OO0Uzy>IksDatY9Rcp zz*dBP{bN(3i?M|j)fA)*q5^(E?1^z|ub}HuXN& z%K>zl(#^pptns4pK|NWqMdF2p=Kz1^b<9d=57>e^gRKQH{%itf-f_5Av@HF*%R1Y1 zTm6YXWWn;91BA1n{ucl?K*_(^*gQNuSgqY$A*^5*YgQ+RzxZj}*t!Bdz%KTHf7hoA z&;j^YW86TNukD1`0RI)>&yoO?Z7qNxSKuEfS@6GtDXg>gvh>M>AUx1PC$%S-cuT%ph*A0Mox@uRlObx_=P_0;JqrT>j)x z`CpaGztj9LbxH7RWkwD@er6v3f4yR6AU9XQaGFsX!%CCb5Vo?FVb_c`?@r3+k{U@G;w6Y+8pPd)LA;1k_e;ra8 zkfjvZ(eahFE7G6#N!z~m2?BQUV*9VDwg-VdKtBI1wXy|STK(y|rJEC*e-6mj*$t>5 z{Xe#^BBZ}%)<6h=9RPF&06i^i*#4yYYf}D*IsS-WTj1y81a<;gnK`%u{cNp(uMZ?2 zS2K4Y0OH~X^z-?r;y)1*2Oq%F)&lZ696PtAS*CH;9ufbCjYDYpXI0jYm+j( z?odlG$iWL>3A93DQw2j_e}{qo|IZ%#uUxWj4i2hjjzIeVZ0LVmnK{}zc>Sl{f0^h3 z|4^m>Kb&n{Wo+*w;hH_RpCG zVBz5A{V(0?ELzxufUd3p-ha6PUwiOhd|w;?hb@3jS4&?_PnYSxf5zo6BN>nd*wPkc z4dCSA1(>+B4-deH<8_oRfu4U234o0i1cto20G!+)egG@53(}v3K-{>`i#lI2HtIh)K@VW;7E8$>& zO=|fM_*xh6AMllg)!&fwHJX*}-{Jmf!EP@9uz#g#{SWxc)8^lho97jIIoSaJnf_H~ z`w#fqEW3Ze*UIew0bl7m`~$wSar_%{yjJp$$Q-Ygfd9_@e`*T`{i8CDSME-Kt6%dv z0bOjt|7ZorYc0swK6(G)Eh!21^kL!V=LN8Ez81*A z`?`3qJ>>HH4_}LaU1NV8ov(ZRfAOC?1ONnj0xghMm%tW6p>`R~;bs0Zg)`-_Gy<%r zm3X51ib-!*vt~Mp38eFODS=`|L9Kz=v_)WLc|l|Uf3zUbXMLJbT!-IVZK+k$*OnUM zduIMB{={f9663kLtUAHjDl38I-INT+in#^vO1S5;+mqVK06OE}r35;A9^yEsUNA4y zDUHh8H}YXUiWfLqa9kX)JXbJ?x`$?2X8jVYjPs@i;dtYUa87+a7zRuk z1==Q!f7MGzmT<8(eI&$=TJ#_k9nYYeTiooGH&qH`+{rG3lBledkfEp<@k!3G(ro2> zMq`KdhC&;EIH|b;T{qt%>yri2kU_W@6FuTht#}_FdOG0~{%&*fVEn@w9g{bzl@kK% z*T~Pgg)X%T835>|P*rS3yep*`7w*Ng2R+2xf1>wN_$cL|I~a+b5TdY&7;5 z-YUww*9^xJFQ!;($VyVOr-)d@JyL`m|t#DOIM8f_W_EI|g&i&~I8|7!I ze<6l~0RS)F1mQ}b^le(?XvJV-YDPgWDiJbopGb6UlozsofLtt%@&w!9Z`r z$7g=B#u$3c!ulv)rL2`0*i$IVzEg)mxBX7< zyTssm@2!HwK^~lxkmszQmebp}Mw65eZH_^J>3x)z&(8^~lqvK4xsnCBYG$Pie1x?b5;;{CU@rt)EtRe@mT8xVQ65u~M$J zTbKo{Q_2_b@Tw;+Q?Z6p_b*N($g&1nmzRq{SkF6IZAI{(P!hw8G^lf#DaD&liQluM z1n`H#?GMYOChp&kwKs8`a%hrTe;DH6@?Rv+lTjbfMP3VLL?KFj^v1Otx$=EOsoRm6 z?wRq8cfr5V>Zy}C3ARN_TpZrRyrffG2OpN6ym0+H3&iL8lzd0)jX4n(eKfNv#yjP3 zZoz?=xVyEePaBDDy5ndZI#dW~c8qPYZJ`Kyk&7AnnxelG<>6@A-hQ%`e**FN+0?O% z4+S1;sAKO}XE97$^a+ViQ2@`*Q=MB63cp2#4=MQy7brQimnr{Dq5O(6m9Q;ttSPht z)v$$y(!;#*4XviFG0i8Gsmm!rvoP;C;R{JsRQvb9xkz0dnmTEv%j!!asr7!>b>f}A zo1J1QGnt;yBzL>{duW|wf57&8yBR^0*k*>|N;$>;3jze9%N{5(_Dp!0>nM3=uYzMT z)g*EVuWiWDt|bb*vL?xumnJyx$!&r(F%^E47ek3#BOy>CZZ!OAJ zOy@(T@@SR&slO&h?;UsSS0b&xZ~rDr|D)bIR+PIDyA>4f2LsBGWtz)9(_dJr1b5)X;L)s_v=XV0y} zvrj_HxXx3Jg0>gBf1gKEwm832>1=?f_)C1^4n_CxSW$e2TQhWYqC|9HJg^{P3<$^S zbnPVcc;Tdrg4B@xOcjmru3hhK=2*Ezt`4}SP^##B2a2O~HuIZ8)-F72sPj+xd*H99 zW6+?h?|t?{5OCjk*tv9e-87q(o$ZJQv(W(-cw~^ zFZS?wzg9fJ&S@({nrSpVY6hme>9c^rHTGy2XWSyP%&%}?S_aiUar3=~O{@2x zD|PYSrtiQEK1Q4cd*$4sUCA`K7tSGL9wV#{6B@^fW^X-NiM%mt;kPNZbzF9JVV8nx z6F%)JBi_XHe-ZptNyu}bF7NT3a`oE+4VZ(w<*G1f0=GR+;%DGcS08KNji-GhkpTq? z&bkrtmz01o{x>nPs$MoT^G0D7+t(xX0zNhmPd-jVG|fHnK~L|R-pTiXk^(8oHjyTZ zJ(DAG=Lu_^dD6uP)Z#6LwD?%nA~Kl;N2yp(yp1$Gf1mn^gnp?~y>VLzkWJb?-qYqd zwbiM;->i(mQWR9RatL=CY@Ucr80l3=oacjtf8L$b+!?EQpqyWS0x`=?Jlj@q z5~}-<9pJ)BOKjDEeliSg^MZ7}JM(q5d)_o8SQ08^+ac=sA6kXcuTz+%;fTgwkr-nL z=O2Lne~)!LPIJm+EWg&bT3O=b%|BFdaIf}Kzqwhlb;+W1Ry0BLYZTtY!p+;N>_|M* zoJ~J_xm-PHor-<9qPMCV3ws<-+`K2r1~o0O1wCMCVZmZUnSItLUGgk``?*y!CYLEL zP*@^})j$gcdE$_H`D&ukU6 zhvp0lfc%dOX|EZCif{YeQU1&{qae0iok-s!hFop?wE*uQ&bLjIbajmPFsd>XUv%b` z6oASlmC&cK>IiCbh(ArQ&0;q^lq)TT-%_JuFm@wbNNMVM=k{ioZfq-jllPhMV9&#( ze_W8*Mvfx-t``2I?gT75n$3v()phiwqUboIXcc0gbXXJ9^p?`H`E=;Jpv*NX>+imi zwVz%$7e|}2arse*ipB3W{Vm%bBbvwCs?w)XPfZ)pB#2QAKCT&7dP4UgD(n}u&%d8b z=%pqL_Jc$C+=hlQeyzxEm36&~viPMef1o*4I*C|G#eo?$Dk7ptm{>9<-kgDIi@T)P z;P*sCc$}P(Ng!^mQR@UF^(J}c=HrUy7G7iiB|Mc`Ua=;}U`%5y5tfNbvGMQf2SwUg zboOwM;;x&g_e**WwK4e}4~K z3Ddpf?%}c~UNj0xQ0(GSt^d#x&C_qu#M5Aw513T0xZ96WxyokDfiuhcJkcq#f`xQo zXJ;2_K8`U)%MsDDq`ASXOG;P9W!RY?qELPDq3f9@W+bJBb8@?DK(dVP<(`j4mCX3p z8ULtLJrhXdgin`q7$@}YT=H8lf1EFAwOWM`px!6aET1+UU0QSdZy)b#khjaf)3J;|>&$da%^e z0;h()x$4ru+P$;;Dq&i!;Vb!(om!ph%^64-vf8iB1`}m)h z96^GlFb=~C3hB&u$t)nGb#kxpH>e;7$9z>mVwt1r@!&KWm`EQv&i*FeOJ{~}$D$i> zq}&O3%x}6kzQR&5m4u^HaKzhsQocNpy|)_0YTgNg_v~D}kX;CbMQ?LeO+I4@T1Ker z!dr;df5KUd*mABCtnSJDfAnD$yMhWlvHCw%;%*k?>K zP8_x;Jk(}MM*UD+B4q~6w6Aau&DSKX%>L}-H1HwG!V$sh_b#-mnxsbBeHR3Y!Mk*N zXxd66o~afQ2VbpyGrSvVPaJN;5&U+TxGD60i6Rt8)@vwJPeSHCf5U>ZqauM;`HfiW zj3st`Pe+<9nW7(lb8Msl#~b}my5Oxo1?kds&hNz|&Q2GPu(eFBu^gI~McPz08coFZ z^P%rrhrlY!oHyNMM2ig>I%SUD{@6i4O*G)1vF?Iebxo(CJ9&#KgH9rsUeSZt!z_kK zmYct)@H->SH`{TaeH|&5_Gyp@s{iP^?PAfQ2P@)+7~LmkxZMqy}CIM zB#rj8@}JHTTYW|&8ABEuN*iMG%&~l82>HTP9?M>9-kNWjrJfCfHnY* zxWUX%CV#d1f895_7zF225UM&OdO`=8o;NA1$xemQ#wM4{ohdXZ{tWtnP0w<|7pi+? zf`m-lDHZJVokl`+i4EwaD3~{a=w;LMphn;Q{9|WaLI94YR#&k1y40**e%G%CDxs8& zBPpt}xP7jHL^(9ctU&g(`a?R?pO+Mk#h>mAQlHn-e^?wz$KM7Gt{;7#V1OIx@ymEO zLm>#}HTC^MvD6w+q&0Iy`Q7jhHhcy^7>A1LD|)!qQeK@}ESEW*#d>pN(2S8SLNpp- zzG8X0^dxB*0)-{Mib_vnHoblo6)%bnTIx|JBV23mXe*>X;Yj+_&)mkF&K4%C)I|hzHx=~! ze=oOjk5+qc#c95PVAZ-T zUcp|~rrG*f5Y=IdZRCW|GsfxphG!A%fAGC8D!YL&o8t=AD1VdxV@70bFR7*A97xR{ zHL+gXT;MXZ+rFY0)R>+GUv}jiIxDrc@kCeUE(`$?;H;gy3so4i=iH@fA_Y<2{Om>z z(C=+%z)fX))EkyT0_BOBZXEM5AjaSZsn|!zAZ)RnvG{&Leb!el>QW22sof(Gf1m-+ zED_SmDcgjSe~eoP40Y`I$KZE!M0w z59zZt!2?tpoBS;qvSxz3YcVHIe=Dk&cgtR)9fq_MojpFtNllb;w9R(`S7}K)#6>17 zj5|lrW$3Qa%aa-El%OpvA_7_p#>H1AGK}1#?!!qqtl$pDDIY-69XoJ0KLz1P4816# zg-T@Dqe`5K^DuLCV=ECu+iaKX)1Zy+KJV8+e!DB|VZZ z%unTvDO{o}EB)%qVk6p3?P`-uUo`NMrNIuKh#Oo@NJX%+tGPt?oBOSe@@REWdgHuQ z${)(2_=c7ijnX%iZDy|G6i;OQMNgHbN|2r)GemxHiy6#sM-uC{n}45?iJaTIuJ^{0 zyU>4RLsIt@p}a|`#Kf(6f8g6GRi{j+C%)&;6}{LV6UrjhUF(A7BTx0}DH=O9YOmx< zH1I5~_n8a-_|79Lb8S&qb2>)Ee`hvCo&vfz7542M#Y15a$F;udaeXRBBN<%r^6HA7 z{BulDw_We7*9sQ;$95DpUben|PqcJ)`X8)g$lfsCN#965U{+<6e|wk34Uem9(vmvs z@dUx!cts1C^6iHqaWA>L1U&Z*tJ!_6m4&cD6zH((hCfMu{%G0EhUS;xZ+LRHfw+Ce zvVFyR6sqm2_$@@c1_LoxK*z}%UFROyYvCS0pXz~f?(PP3ix`jAeP_RDJSmP19g#ft z9bcFitEZG`=kzpI78LKC7|5^7J%gof-7tM9r|+f;z}2tJ zdFIc0yvaU2-n;LQAF$8ct6M$_D@0Xqac+c8iWIJ`ieR(l@p{SlAjHeLYD)8QKfUsC zApm-Ig`@&&t-H!hW%_H04vd}b=)k&`3dK*Xo56^g>^x=_I;Pvv-d;rxB~Zg^QHu74}R~5YN+a0eO zFdDIW=fO1s>plnRbLo8QtUIyEYZA_Ig`d);$-S36eq-G8zLC!# zi{9S_M?AVDI*XJfTB%yu3{h!L+-4j`q>jN9&G}mkDn0MlJyBmzzH>*<_b(m4yY=(l zeqn8fe|#HAomuN<7Vr_Z$RCK&X;IEb%CcX`p?jav3ujw`V+9F{prpd3p|tc6TU*th z#X)g@BFdNl2n{*JZgaoNYjDsrzR4(D>AHrRG@Fh@x6dNBx4D`)uM4r$Yt`ppX(k0# z0{39o$8_26=>s9EYg~}g3+8MK_fV0fH7Lqtf7(Kqchj|1Lj4xq5lLOsXizx=3FF5U z%X9N99<|b5GB_CW-pL<-PD8&5k;55eB0<)|Q%*SKOE!lvBq!8kij@9@ExL!q~wR>ZJr% ze;@2itpkS?qsCGcsOO6;@2D=?V-|d&C#RBgMvnCDf<2n5{eONN4I_J>! zjkTPS_z(S;qI@GVEy5cizk2T=MERS^5j>6$7!+tYo?bRq6se(j?Mem{BrR^}!% z`K>?k9?OfUJS>SChisDHL#+5lEAv}Le;Dth0%11{90KFxno<1A<&eCPxW)@l0=P14 zzefD!iqIRsFaui`EgQ4M)>DzvaJ~_Ox@p@O*zf1WT9U19Osz=-Be0*UUS>WB)UM>p zj(5(f`02uBJ6>fv2!Yx;Hbqhv*^`?zj@sVhtf0-Fm)#bhsOh2XR~(MyhXK-Ne`Jn~ z^WL$XYZa7CR$1h&JF4S3B>RaVh_X3ohD-lC$ae-W;41c$e1BTkk8r837oliphl6cv z{dOC!<;bjWNwHwQLJy*ZVteWQQM5@a_~h2HSHX*f)pu`~vpAct;$62UPmNLksp5|9t2P&KteLLo|)Lla!Skka6k zt$i3ts@Cm641@|bKB08Hw+!i?8(<>yAPzE2w_^*Q3+I$>g-R3_Ki)_bw+(n)6pW0237owk8rG>tlp8l z;pu>7bh!G&VU*TFjqdsOiOV^IlM9VrU1{k$&TG8=(%guZm84>kAUj;kU^y`UF`a0d zz_@RZ@{Aj9;Qbw&Y3Gn#f5PfB>F6y*pWZJWLzN6s>bFSE->u0?8M}*@)V17(gh{k7 zAq5qE`e74lUNLlptL?Xeu6(T>dsk5O5Djvx)D4Z;CJinnjzAL1_Al65zGvrv#jKW# za?T9-ljLN52|MoDOEn2*XJ{4!d~^hv?|$3s!q}~Sq2g=WI(|jXe=M^ZojlJq?BD4= z2-2+TUfswn{_?C2mFrBB3;k4id;8G)#_7Y(2+o&K+r_x`%A5H>kO8qVee=kxb)-iy~%Bf9LoKUusyB%9l%(V)`O~T>2W^ zG&qbA$u=(5>?37VM6TaSn_U@ebc)hApDmzbn7Ls2HrldLH-J9*!{=PD+YiKq=(HY6 z>U*9MUS$LGcn$&^%~E{J`4XDh7|%6nktZ4qY$Pcrv`T{nuKQ5*622bQWf(Y<;-tcfj$ z4}?l;(t(|JCe`E#;UBMY4N)4a^6%TcnJ7;6e_rO)ZJ3r18G|+ya&yuOnsC>`3sNT4 zoweL@sJ)<1N(bjYYg-Zt+2HA|b!c{=UahxAm|T-V%Qt|ePvD(3SpA&B`H1&Q_X!;R z)3I6z_W((ck%lC?0jJ*(hy{AX-25N>t00&#KF!A6VYI#WEo2<B6u+HPfBc6e$D;cY*;jCe3lB~Y&4x$CvBfeHvH4`p zEzl8rdWD1ww5({+-fIf}8m-TTYR??AEZs1P`ySxnt{&M=;-QunuUu0eF=wZjBGh~e z8~))pCj-eXW|06gHt!xvQLiB`=kTm9b*XSGcyO(~9I%LI*9U)9j(}%2p0xdTf9jAD ziTVoxR{IzI21M8TD`)Gc>4J%@8$U^70`CTt9jzqA2kKi$5T{j5GSuY9rGe5f zU^TGI2TV}FZFGn{|3`LBzS(_i!n3WQ1I=1)-?+DV?{3N41mz{ z)R!JT6gH6!1tjiE-*GeSqlfSAWQS#D->*e*X@LLN*0l9fW@{xTy1;Xme-jb5cTP?^ zJBz2pQ7P4LCBOF*^J-$HrdLX+O(nh~{Z`tm*pFD>HAJ&2VXZcW@EOW-T=KeU(Y~~*c+tc{YIm1RjSKx@#dhcNm)Ldvy<0MNRE*L01^c&yD#Jj8!aGGe*<%AMjMq=* z>$2aRREv%cM=?`(iyk0afAtH`PMBUxXmvh0s!j3w_+-`C^0U7weFjPTTR9#_8VsCH zxFf-Q{jzL8NA#^`vEk`f6luNro)G}6<55(aylNN`Xc9M|Hni|DP2Rk_}*Njx^ z+o2yPGTI~!Y+t@JUru%~Z-aG>#Z@gs54f1xV`t+_v#;gF(? z%GosWM-lzvsyj~3$vF!iTx!ab^u{d?D?-%-7L7Y&U~(~5)7PQ1FnscR>TCGSp4^l6 zb^xs<%Cg3rW+=70Vf>sgeuX#uD{pt%nd7FfE*wbD^#XcRotWZ13c$(w;vg-J#Kn}e zz&5>P-b%r?Oxrqbe^xGdFHLk8!lj>=$+av@%~D#vJwBDJ}G3X$EH&Gu7UP?@Vge|$)EWocKHsFs@fbm%@x zMYA%S3{6B*)H?0+EMlP~nMH_ZJ#%k3&~g@Me^gD4s~KK|6bj`Wcer$sAnmQf`-2~spn)&sPzU>-2x(cV& zmd8I=xqd1#I5Gz_Bb*Y;t{+quT4aSjOVrZbVnhQmyTjMov@_~_R^}3A`vgW1vP|Fi ze6O2qpzOB^qJ{HvWzHTkh5ztwvL(PGAXBT?DSgM!e{=U1v#$g3L5!A3MZJu{_TFMb zm3gouqm8MPpXHs2pr~V;isanSn5QtD9-GJ>9WlOT9xC>f@<;8LVkBV?Ls>6W>j{*X zf{RHcJ;ch`U!v_yUwO4==oN$uHRd-ht0fmYt%cKx!3xuLMy!nt6S6-5d3 z#cHD{f6w8c$j#`=K9dz#tx*L##la#E7tjg?c=;?mJfofO+w<;1(2I76-_Zuzh>0^K zxl{@&ihWr(?mlm<7_7Lz)>=ay;NRt9uHBy@xF4Gf12PtLZ?g87;1L0N$9~gh#JZUw@Yu+ zsLwE79gBg(wK#%(JO?{c#jQ>KE*IfL(rUB7&SbyfRtTaNMjej4NbUYxjT*~IZyG6U&IAJ2!u4? zxIw+M;~pjQOv9ybCVjhIGJe!93F6tWf2s5x_j}6(R=_lwy(k>4c7D(={2^RU>M{E9 zy%mI3%zXY}&io;8l2d$ay21X_7v;KB<`3%dF0(C6p(J=oy*?+@^uH{{r8dkee0O=p zZkvtT+?aRd2S&yRtsQb02gvrok$xz*M0(oN4VZyp&@NatTA|Sk`Lm$))^S1})dFOPRQb&o-sWuO9Y|ct*}doM z{&>IZ<ZMiHZMLqJB`a+R^p6K|I((r#Hzl-7^P^8a(sJ0oFwER0U-pn&U##O06N|*XtS0Bk0@kNhRTyMpo(X?+xs z;MYGYbtZv^r?BZCe-Ol=c@Dn$9U?*zVPi7jxms8538AMF3-Q?B7Iiq5!-IS~5&Dg= z@}qraS*7{dHuT+|OERP!q3sa-+_(kp$9m8rNFOBfBee_=pD>^Qmduo%;)GS=$d>dXx17NUm+boyHNs1lenugv~3Z^A^L?=4*l zXHO^KbEX`_DSNbRcl1j0;FxS?p-PEtc%kK9fkHg#9xRcPxFy^{djI83sb;U{jDX@ z6;}x+e_^kxuQl2mdFEb=77fXD;+7HYFK1Hk?FGu6%5F&}q`~01`DAarFd6InaPJD} z^zwc5A7fYh>k^L=V`$Wg3Bx*2qXw5-Hj+7b+Sj8YFW$UZG&rFdr^8+C}5JWAA4B?Mo-ew@~KP zK+<-UdiDz1C}I>@uiA7Ghvze+HA=(?JR(-6!)pq**4?sp*RY61&Clp(g%cu}#f~Ix ze|neR`w{n3Zj?IaP-|SXLLDoaJD4J^$2-W~jO8~k;Xko@dER72=QBI!yb-vw>Na=N zAkdPUwidqcNvfk3U%9M;-7o|;)R>1kq?pFg=bFCUf8h)^&I2xwzDqXs&E$f|+A`K} zPvPE$>^fw#6PKSw!|-+4aWkh6l5yqVe}YrU8MD;q!n~swrzVxhO*YLR;$q8Bmz4cN zZPpy8>8wlmtov_HrCD(Vh-L8O)~F1<;VVET=IkY`HesJU2zb7m`r`!>zKF*Ndy2r5 zA)1W%TeNQxC1Z8fK|6^hu|{leo6uLT5OWd1fJ9u%exc!>X*@VfU>QIL<9swZe{?#6 zT`}MA18Vuvfeqzqq9OiA{l97h`E8wJ7U`CQ5#ymD)=b}djOgqtCwCYO%}n?%1oY{4 zKMCSvJ~7#jJ8J#dm)XR8p++XWeR9xHp(-i5kukYI>eqJe`!ruaYnj3zhWMR>T!BHm zmxA&6k`@~xo|tAeEhJ@{5TF3+q?2z4Gx}ID~he_utRTgq{{D@FJ5bN@-64l~SRlf7AC<)9}UV z!ZpOzZJMyc;yI5Cf)U=nl2C9{qS-IX6Ep{i-T;RrgcO~$wJ>wtVji=gbSuTGrBvrB zdw9gG^X)roBw{PULJJsuzSdh0ib$dQKwcB${LzxH3^B1(xXh@avo_x}#8C!i@TQ~M zy4w@d-f6=2VVs|~H;G>Pe|Tc)vyu1{WhmQ$%v}xbQYZo9;&~IxyMr1l=I63XfcpDs`N=cL- z;5H9-P8}q)Bq{q{zTy?MwC0kIA9AU=pQ8hTP_9>%DA_a3Pu``U2n+h{sD7oqZunv!vrM(f2y`BB#J9o6dhN0>F)A?5p z4%(a(^0sUvuTKGKfBOe<1WMC(MvBk4i7GaI;=@x^7`Uqf1{;%=?j<@@1ZqKwo%{Q@ zrfJlWRAv5Fb;g7SOSXPj9ytsMp0<;sI8T+5ov#X%xmdI>L)Ft6l+=Qiq*m=mbs0^_gdzO%7p|&^j z2)Fxt%s*Yee^%v~x}vN*M0}p{;A}g@TTaR>f=M8{_b}J(J?6g6!+O3*t^1S?POZCo ziAaSUf9GB__;jMsl04IxM5A(RGVgMli(wasdLCr+`w z+6HL>H4u!8En?Ou{Z-~rZq)3Nm(idohBEdxe)|m*q0LDoW)`2ZV%;W#C(}9Cl4{15 zn*djN$W_3?g829auF9UsRO<$>G`L>H;?|7v5N0yDw0l~5q3-sfDtWTHf~ESH-iGX! zuAs{If2Tl4mGdYbidsez%GPgdOHt)cJNnabGiXEGNS60I_>Q@KuEQHW9uCd*?+Vyw zn^2-xEn7JC?Bs*0bI$0t8ll_zt!@PiW^jAVk&A^0!{Cr3csgqIOnkBJ4&1-d2J(@< zaU_5iw-Z!Hyf2p~+LFPayWR@DBNU_@vXua9f5f2n>(ZQN{bnICgHC(oJRmp5+833& z-4>7nx0PeBpQvF%QmFg16pEp&6$>S|;i!JHEq)L5 zgTDYJ>AV>~SrNh)vHM8_sR)GDx>`Y3;5Al<3(oyvF`njJPuLL3zBK*F_hKF(r(1KM ze{g|>&uq$pg7IXxdyw{xwkIUD+t0>CanB&%StCirx0TK)6=`$*R}Eh~4HN~Zzy-^f zZDh-CZfb>ju_!_-nREupt*#YD6vgm!UI+C_Y47obayA3s?HiIYkq(w06>v_&hMH`f zL=mm}>dhn5F_Z@rsTWpg%J42MBvwHQf7XtuX}KSKWU#M--?9aA5LH}%tv~_dz!wL> z+|#UTsWIc*Y^i^f%`CRM-GNW=$>omHUd+O7KYiT1D4$W_c3}6aPt>W44f9H?sAzLG zQef@ieq$B=mPVu2E6ZJWq22K4hmc4w%YkN<;4<0{YiZC^4e|!h8ik+*D+iM6f6?Or z%1UtmDsrR%Qj0U=faDL|Na=CD|Kq0CSrQKQQA?5x@tAr<4 zrLLf($*)V@0H&8X3#08KKNqV~*Z$QBP@;iRdSLF&Ngv zaB;g86Jn}wA$FD%6@CxHpd(@j*qzt+UYgLV}w(+?dnbclCcDDLAQ-N6DL)Q?aSp zw1P});AoRvL(wW9oqhPf6LGj?f-IgpoF{qI=mkl1$OJuO2Ct>n)?VTr?7S9^dM;!| zHd84)=QM3>8Mok8d564Qe??rJsD*jGpIS_z_c+G20ki^Q4LRhnF9{rTTUS19tsz`$ zy7M1@v3blmJa8xvEFV`(WcrzLCOm4-?Q&)re2$BM&xM3XRXHN}g%^gMld*{Ac=!A# zUwn5j^gO5eXrc5G45B^arXYKm^3vz|-gOw+2BA{#5jCyJWh#MTe+45|s|s)Da{gIA zlx#6L{kWq`thpuvt#>U4{kqpRNmBj2^fhJPokvIL9g!l^ymcX|s5x9=1fwj3sY9sD zoPL5ob7$#Cms+i3p=c_waEONB$`|C`uT<`EZD2X7Ot{G?-CaOcO3aLero#}8spZlY zUR}~kCmK|SRlcv1e-L%UVnVK0bGJ4G?pCAzSS<82)$^n+oz+*{^1%2RlN)8jYsl?& z<6@{VjpmY#Py4}QjyJ8NglKjyt!t2X!2tS&X`p#Kuw3}%{quS17&V&O`#MbBlkciO zY|N8|QV}V?g)=3$+ewn?qgP}x^WyldUak|U!g8-6byPiGe~)w`ewPS`w0`VLT2nJ5 z^nW;Nd*_I8mBsK@Ga*6hL}1;)_EdQFD3RlvvEhm5}G{+9{!A#Mxs ztR)n2H2Is8n}BrEzIZ2jr8R`*mwXsGdGq~P64J{6XCC765N^ulSdVmcc4Dv*QeykJ z28N$c#n-{re_)-~Fssis8m$dorZt$m?!0yVN;vb&xpTQfjEc^51lV-(qnJUEmrixU z&V#&cD#5MDlw`b~phq(LUzK*jS~Uq%y9VdmQ6Yn3K*akK_pR)D&00MfYQ-hYhEI2s zEEaCsjbh|S4D;wa;ircKT|d{x1&KZ@WnVe-eWUmlf7*|0dPqh-fbHQp;2hA9(LIzr z;B@Kw(scdnNp%JT(%Hv4UxcC*9y0Yr_anATw*S$;?R)BB^+FCv#qg093loBt_G9W0 z8;BMmgQ=S-LLB|tc;G69d0l4aW|GTK8$MOW#&2hwR^qhD%u+N*#GF}(i9x($lW2GzjcsYe zW`wX7GgBMf^xFiu{)tAwucu&hc~QnVC%sQjj>@GMpc&q7-yMy4M7`ikP7a>aJT0u3 zf2t6LXv~<2=zbK~cX3_i&o2f}6ap`e?yXH~Ce&FA*W3}eqAyH{1 zsvkuTP>&I<+6sc>K1fb|wNm=Lj_syJLB*{w5WrIAZ@t;vJgUX75rqva5e{X&q929e z{cd50dhno%zs$t=K)+@@4r$r|7?q^-f3!GC~3!nsLpyJ}%ur}?kYya)FD274toy3jd!nh<~4==Vd) zpxCK=aIc^KZ52<0OzYOhiWtlm?@*)Z;53u@niyR{c&{n3|1ib#FVbQf=`Jp_e-xt5 zQ^WG$4`r4JN_|4P3}%x@s&i}&yjWS1ll(^@4p7oNEHk?L=x%u>Z-QFJba&K~K*Yt% zi8AdgNS~;V?0CL)YV0S! zwK)d)@SEygip}T8@=O!y9;rebPH9!j}NF zhY{~cywrdzVgJD94`N@4J@igRXRyMO%YOp9x#TtpKYwSSv^dR+ntjTXe?@!yueP?GuUbMKZ{~S`-x*xRQPna}5-+QB7&h+kDdvAd* zorT+hy4f{J?1>chWG-f6xskPqViBCi|A9srT!hOwgXm-0ES!+9IE;nRqpGA`PM#@Bqy`#jz=z}cu-TWA$d*8=n zz2SC8;=_Ra>!H2kqw=1)RYF{}81F`hmZk!F<pT}?o9%ub1L3_(@0IhSume-|5oCK5zHmbkzC;YnqBy8m z?F>avV>x3j^0X~}7TNJ?yb9}7Ml(H;O%7L(gVE$nU@JfxnXbz2ZsRRZa}jHdT}ZAu zp5j*kc!hv;`3kj&e_P!F!nS~uIRnL@H8SW{e1$WG!pU!?>IsW&+vLhrFl#1ICIrud zdeMDFRa#Dx68E$9(^gzI_&!LRb8cjR;*f8}VPyN97oOM3uZ1#cI5 zMuj>p6aLI)k@e$N9IPZ8=J%8R9c@HAa8`8#TDP%s|89tuet$YV;|RvuA&7+u39y=Q z;DM+3cIyLldPk96KZ|q3FCFh<{Sx@a3a_7)PR}(YpA?&#yjx2ZP0+nDag7S2-#Roq=h-@4X`(UsBufUszYnSE?k5Q7phbPGID(W z7|o5oxY3bfvk`g z9vg8BxpAY~J*jrp5v_XY#141zXfboE+?49uo8D8S0D<*nAB5ib>!DE`6h~M`bsoPg zwzDcIOi0@d;`m9J4>X!3VBukx0qb=4p(mS{W=9j69O^&IxrptQMMx^NV zIVEY$&2}soPdgv115h>lfsZu!+%ZDZ9rgwFCa1pnK^u$t z@nkQDy{;ae`J3Z!ON#3X?a5Uu`l?|lik?o>#ef6Q(~#(|}w85G-v%qygu6Y{2;lP5&#Q=laH)x4Qz9LCC@*XFSv9Rl6KY^Ql=bi*;Y=8S!}BgG&O&8FI7!gduP zfBAuAu*7Yv3+eb*j1#QYEpB6WBsqh!n*ee^jlVltflPcYl~j4b_XT*IF8g(~?EOF- zjs_jY31j%m?_|g-2^%rvT&2#JNSz;7!@%g!J{(uShitGD7>r1^n|89S48NPl|LZSX z@t1ic*&0HAD}0~3UgmA&Ixi5jjtvH*BJ12-B!9c*`hVgD=NXLS@C@pz6FHL3fB1iG z+{1P#ilQvg*j%w~+qP}nwr$(CZQHhO+sS>M{aWWIYE+|Yx{|E~i})jH85n~;ld1PC zj!)B$ehs-)z`5pCV5$#9(bE`r=Ms~_yVj0vTjkw5$fiPy8ENuPlm}ozSY?b7OO)0yQ$}+v+w_FfbTfnWZQ2%6?$Uf za4}FdubY`Hoh~jVvq7UH9|3%y4$cg84S(HGAKIdqtiAYxy<70A7SC<97txqsZu{uS z1gsJ;-S*Ok)|%UxzzFVZCh6Z;OLFF;_S-_16$fO?U1GfJU6!QrI4tqmD-n!dcO)76 zBmbF^YfsNt%x@^f`jYk@x{WH0XRJ_qAQ(nISq`5Uxn5%CKhc*?@lSv^6RhShn}6bk zIO8ig$yqR^M$8JYw^a{S@bxFvL+B8Rvhr23`|Vj$U+O;{9U79j823-~YVnsZ((l46 zsFWE*ZCy3KWedJiG{z&67}ts6+N=NjCJE1g<9NlTc#HkK%+ui70C#ZM`$vZ|&r@wv zTm#OMNm@@l`cL>fl^eu;jmi+G7k>=kQP!m;2u3uXwR(pkbZl(%2{R`C;P@!V-uxeSc0SQASad z0_G~vh}5G8QhrUx;>)T9ttF`zNY|&$mWvmHXUUcn--GF$X$(w)`AZ49g`e^mg#oCTio^StG-BT zE4&WWO|3-CazRE&kXXsvYJZl_%_KQv4}ZXT2ae2=w$NzIv!lH;Y9z%xMeTw8U* zo7wB^5jG&g0voqNke`VIh^Jdp-h+Es2$AXzu(7^;CcjycKReo0S5CVBQCY^<-ryFj zBx^G&ON;$P9JNGVa?diIrIF(?WMvq3&_ExS&oDLMDf$v)Aa z#U2lcUo=Qx=c?C7=76xivwM4_ZS1qTH%>{57X)n{*0`8pdB+1%2X^bj(C{MWnYOdO1m)18`89n?beeEs93MKa;H7X5g14BcRwpw!DaK27axx6depC$yY~M8uYTuuWahMQg;dPUJDCh%E9$0GyA)QklWjp+F~d^< z?xQM_iL%pB9e?m7=oq}Mj*k|v2w&#DCJ%IrXqdws<~GHAQO>Rcz-K z{>KKHsBIT`k^}edysBxjyO8I7TuS#%?=U}iI5Lfbpa0x4mz^-A)IrEC%3l*vSKYN{ z?R_>D^PfgwD+V>kJX>(dYkX2_h2pv`88eOozu0k)eNxvvP`R`7*3Q`UsC`Gp<8UVO zy-(sH-G4jrGlF(fkw5DgbaS;gOOiDn3rJ9tNWpX02ySjS<$S5WY>G#%Z8NH+T` zNR+{Z9MFmUNK;Do;O2-Wp7KN9S)(L-FXdWo)qfy6|2ut~9O63jO^+7Y3-3d?w_x@?yV(BO`@(~*5(__GgN)I4JnOOQ1X01bb z-L}7m??GpLYd8u%e>N}?E;TDQf;nu_?eVY9bJPjD__}=a^VaWhw$uXslrC~d za9Q-i(CVEiP{0WNb18Pc?V75Q=iZ(tJ%5}}r;&YgfMAd4@IRdKu&{Y$bk1J-RQE($D3)8UU0C|6Q$j5^6U)r7;k=sLN6N~ zWoNgq5iZg5Om=0njH9LF60d>v4=Da zh-R|-=zys{%(Ko^9ZAYLx)^7_PQaFD0fGPneBo5F%DGLH6L24IpDBcgJFhCQ-ZJGU z1<}8Oqj8)v3fc=dEwj)ygPlPjxC)AhuG&kvVS(?vw3uyHhztd2?~V|AwtqiPG-2A9 z@qRZFV6#Xls?S@{;bbUjZwJ0%)`nPZwn=*b9m03-q;_aYpo`AzFb6^>eKYWzXa;tH zGPRL!1yq|@=OaN8JeZfB=FcF9rQzR_sv7x=#E`Wbh15b-9I>DWEIssy>_eIf zLbm1=J&^*4CqAp^t$%1Aseej29@%(Qg~?{w5xD>BrlL^iWJM-xyoAH7J;^)weH|0j zeWP#s^VDr}t{wtsZT)dFN#1Gf68thSg;uchGnu>=I|}Jnx6&)3OP$s_@^2m)Lg~9z zM6?y?EE&3He?0-y(B0S+V5+vJUG;9mA3hy8DnMHYw>Z6keMa*}%zqlxg&}8tlo0k+ z%0Q{1N_3N2pk+}mJGsJ3l`>C5tkr7LZzbPPXWXP#?`* zN`nd`7tlhkI-?oj%YXWHA>~o6oUORvx-;Oicq8#FDOUMc$*n2j+~3-t0p4{gShv|S zuqsGNE}cf`DTUWBYLZ1?9cBOTtur)PW|oF=(A;M0r=9)P3)1Tp;I;Pr8mCxYtxyn? zKdngLU|Ln)`9{l27S@q}?4k@gn}1<5gtbng2QbXp`)2;sA%6ndex)rx-g<*n{r6WB zY8yg@x|FdNSq4de46zvg>{mW|%R`gvXWGm?^%;qvt!UR8Anh7!L=gkiDBH+`^=o<* ztYyt_Y>SZ#7pHp0Hi@+L%t)`Zy5-^0P(CS|^bvqG{a?gTQ^Vwpez0a>B2w+C<;FTg zPL?6SV??&0zkkP3vY~CyXN)B;XaA>JEdtf#j4M!58v7WFY+|rW>!N+27TjYfnh}7` zL$!%<5gRi8Wp34Cf$$@|`jw2~i5L5rlUT|U;l|uQ__}ZoTr8`vIcrR*kj0A;157lj zMg3Bx)EV?Do1z!tUHEbM%$}OC2o!QNhFw5FDDMb*9e=7cOJ#?l8%M9R6OGmrDHu=V z<-&2Ri(A}TX*db8mSvS`f#d# znHuV<3}u3(8VQX+`ZSz6F-~n2*69r;xBaDiRYw4k=~I4FdaLx>_4C5<^z^sA145iq z^(baVx_^k%w#(VUO{DVqR?GaMvivvE+|G=?@@F}Q+!5Z3{H3U2Z{*8$)HABpxzKjc z>v29F4?X0)s+j%(xyim3usz>}fG3m1J4O6d`x6=`!I~+j7I@_)=7F#1v(dR?C36Zz z&oES%-$+POkrAkjd-YxWq5-?;V|eGcNh*!dcYizYA6Bc62L6L&IHWaU-tXI0)PElh z7KNvVf?=@^U4bhBy3hBqE5`BdCiwN++rkX4sL0d9Rc2Y|G3fLlJb6NLwH)jv_WVf4 zfPWPHP;Wfej{LlZO@_P}7uIgd^n)!gPA31x!QJnN4^1+#Rve^W!~B2aTg93sOzI|z1Y(aPxiEP$cv+PdYaxg1%@mUKpW0k9+` z8mGn3E@z%N7x3;k0{YT6W#hRp%+_#JU$YBtFA;O*?( zE%6zwGU$|jF4*X9^LzP~jjIZI@Oc>GZxf4rxVM#Gmy3=)l}OqYGZuK6`r5vo%zrZ3 zs~Tw$W?ahy6;Pfxbb#DRmo26VHqv9rfa0!pAQ z_0>tpORu)=J(r=^hIAQDlj_AxZS(mr5b4wuVHb@-c-(l(IpEdhkK!Ym<@kY-HX(}6 z`YT1`Z4Yq479<%2l0Cp9hs{zs<$nPn)-bWJF4_qs67Q$o&j9VcYnUA&RAArZ=QN1B z<(DK%l<;|MglJ2!Guwg(xkr}NZCHjdXm3$XS2Zr%D|-oiM>9{B9@C0|*l{0Nq-{2c zy)3;f+BM`{_Pl-BL|;{!$y$ifFzW`buF=XhV2PD(TomrpQUP3J^zR_=;(xkOcLdnm zBja6vPMsE0Z{KuzQ2GT`C4?7R%8SK+sTaN*HACqgKPiP@Rs?C`z>s|UnQQ~B~=e$a_yG%is*Ju%$V!~GH z=>lfvos4>A?6<8JDZA%|2!ExxSK^^2{n<$~S59Az8BaZnKf(&C2g3vcQ>GFt5t{gP zJKAD1>`Kig+#H4KH}9$6=f~6@6bMR4HKiCV08eqCEs>`BuQ>9lS)dgzV<`c@@fgYG z^V5AOsJzr?LjYEyK^YI)j#xfs+N=xs6!exguzJNV25WZ(5*khj;D0m-sLiP*{{V?e z;h>~YRXCDmx2}hq+m}Tl4bV)Z+ez0LUtydym{91iRH&au6h27|RcPxn`4ta(6%QP-U&}8MUL&QK>o9KX(VUYLKW?B(h27me+6&o8+oG3I7{;abr zlJ;$C;q0+yafj`OhP$(C&=^fCk0YXh!2re~N9o9jeKG6zyt{J>eP6X08Txx^WP16~(PJW6sA~zwh zXOIE9Hy;JN8h;%Gl%8^MKv2G>NvLVP~qE1%^;MU->K}H_=s^4PiSB z1fE#NQts=-mKS=adhV8HJs{KUCsTE~_C*9^nSkXH(0>D^;b4B$KRi?XK4P>sd3nKO z36lMY$eE)!akv~F?dXEYvEcHoHtT3FtRZ!8lqE(P@@P69!1OZGs>2Nic}|MuF+s#d zhrJudCS**JKsuNqY7JoYk{}%@0DnN_IIBc-+t$?_SBZJ2tIag9UsN?=C*4WqSEOR6 z*)CsRY=0Vo5h)o_QROAML3SQE{BF#i!FNne5@v5xd+~`T zt*~)j#x+86+*Jp>=3VC`)_y3>fS2+>FLeSX8WvzyG%fIevHNU3*cbFD$f+U=UQ|2_ zBRAHB9vW;w*g{5hd;aUv=g+>|s2>3V+$Zq{N*phMN{vBpr-dW4r+Q}s%O5Jw$y_W! z+ka<8LY@B~PaCFWkcm`y$xl$fJyf0$+1H`ct7~5FAz4uFOx8LgRsdE> ze?^eZ;MA66<5zuf4C#lh!iRnWiREADzky*CdZVp@4 zMTF4|tjZAUc5^onS%krdh{oU}4DEn6T?3(w6A<0?Mm7Fal>WnkhI9(=Oec4?NPna% zOx5>77D_i|39k6;1qdD?iAu@8xh&!bsxQsC5O9^MfWuloTduuU`X*OSl)+PvYRj!} z*oSpxRfS78>*8*45huHxTcCMUW@R@DVcMAynD{I*OKSPjqgA5dkLv-mEED7b@U^B= z6h(U%vYTW0#33%v41Y?6fjQk{HNnerJ?y=hOsse(mXBR<$fvPH^0xtc zDyF>-%%sl@&9}r)*{R&qdc2Lj1$mJnk)X``!b0#7J07+7J@08#*uPxA!BSUwI1I5N z4~1l(pg4b+iV!|GKvr~%QFCv&itzBl=WGatD&O)LO_UAqXodufqxA|gzD&}&F-!6B!Ixcb^FpggfgVxgFQQOax~4fH9Y)XpFMwxn zGeLbOiyvSfHLyvMd?hqq0856C7_dVocw>c6SGC7V>|YP+CPY@T<=-w~7HEZU-o?F9 zNiUx9GoCl@-e1VE1hA|WK7UJ$H{qXSPx-01^V)n=cgY9y6_`TNfOAE_2l`@L&PtQAg|6S>M$B3a-*Q=s0|Vr*l6&Wg zaXHEyoc%n?aLiQRDkf4zgzrpE2aG`3^Nc~tN z;8RzO1XMk-gS+@4eA#wHDr>X9xAT_&T!5*@3zA^Ul+d37IdaLXz`pN6>kNy6wjOGu zgm-tm6F=F)t`%9BgMVWjB3ktf#7TJ=n8xrS4bj95KfG{@5io>%Lf~pXO8d2rBvL4~ z<7`Mk_TCd#n>usD9D=(?$BuR8pWT8GU4thkwgGaJ$#E}0#MymD^{{MpQpK5#J z4Y_rJQ3Da`Oah-uol#i=gdM@eB{XGVT_H3O4BB(!R_2!QzQCI_`~a#bh0 zt8)H|r#z8a3Ioh?>ENfPvUr*Duq>XTbJdR5u3={V5oo&|$Pn!(C0!u^YAQRsGKqU* zyl+1Eh-?JP-G5ba(*qgou>8pLXlZMfl{`x&N6uM`x~Len3h3%lsNBXt#@@`49sMfx z2-6VB zhBXZ3csa6O$p;yAW&2!(0$2I* zj_o<7(}rv5W>q4-;W|I1bU^^u?42rS)6@zAy0}Vl%AnY(DMq?wiIB9^LY``1RgRYV ztk&Xn0V`i3$H<)}8hF*a;ucYnvrsbfrpbEXn185snP99+yXuEJC?ti+fOdtVSY~!a z_M4Z9%F5**I0c!hJP^o5FS+5Fz}1zX)#&^Gbi_82Qa=jzP7f&0A|ZNveH*U+^a#w3 z?vUEFA=2%(%XkEA@01w;K%xv+ZLIHZQ!)V|@E|5fYv_BJ;G{ji;H=#(2IM?lN5sco zCx1+R!m^rPj%+28-dOl(OjvVC6FqiCTZ*BbxO&Wd4rZO#s*9ab>iTk$G~@sYl1o(; z-a|2X6>bol#h27KjufHBwgC=M&3h(sJv?|WirAV3^NOXX{YqvVcPZ1wcH;(X@|DYh zfB_O$n#J@d!O#7++ob2HcV8uQ0a7Tk27kvyK~1o#E4@fq_lj?_1pT&1Q?a2-gjn%P zO*yviu-{p_z?(M=S}o&ad#2Z&c^GX(Ln1@TsC!6pduSa8Mlg)b_9O z*em&;`(`>*bXiA{22GK_2CO-ZZeGOEkPFA*Ef3WZ_4KCYPS{z%?qRZMy`~y8+JD`1 zrpN7Z3MbQ+NXmuA^ZcK}NyRacr^f0h7&vN_fJh;w_I8o$#0p+=sw_LLH^WDsm2{DL zaO5%j6>!t_Qq3w<`AcJOG{G9P^!j<}7^`vBYn49R0Z_Q%K@RDkFVf{-zjAOrAWk^k z-oS%CLGt!$afr4$!CM2W9`7`YT7USSc!{1YDDYB(NeMlJptdd^o1o?T@+=TUme$Nj z51sJ%l5Zh3{q+t;?d^hAuOK7SX6*EOxL}+Y4OQYT@rHaw{re$c!1dJ+X_>lOjvH{s zA%H8MAxJIbYJrt+)gZTq5Tw?_Ic5A!qI$Uc<3*-Kbwy<=v`D=Yc%tZi7JpvUd8S$+ zZ24i}nNWL?GG8e@eQ$=JZA*P`_f)PfUm0{f_R8XLg0Nfk-@{5PFJy-M6TX?6i5ffc zE%5~gW{FYj`g&l0LK^uQBD^)?!4H`blG_7tQBBO`)`2ohsxGgS9E@(nySdr4P>xu7 z6SlY6?ustYhjQYXM37Ksn}60=As(S#(6FhUIHBzr)63O!6GsOTPdk|ZbP~EJO_b^V zSn`HIIi>~);8eynP5E|u`q>(ItlB@1xkrPsWv0fe!<^I;N4VU1D!psMr(|AkMA~)o zi=G&9_-SV$yR{gNkWOfM@@pJKlOhi>Y$43n@^#ysnxKYyJNUq5y~9BGPw zO}`%8R>LrXPi0pdN=|J;K512gonHuPjfW|;q2sa1o%W>BLMcbZB?CUEfov)-Ssh3D zim%!3P}(jB_UdIBaYd3f(e9h9gqX-)zHa+7sVXuMFM>Su6uP2HzJM_P-M z{73KFvgLob23c12yWK~bGPR$2)nB$@*r_|F=?+S*zoeXfkM!WbH6TLC&e5{ai!6!toV&kk^$iB_~Hol29Ai(YcJf+Du0c&l!pz8#nzrX!VHja7p_ z65roBi+NHx@9dvQ&vp%;!Qu66^66jVMl8Kf(0?X$ajqw`)%1>W{20nvW?Q=@-hP(A zj!IKLX^NtCAJZ6Y+g|{Q1?h+k-SPqH@GuIV39mk?$2<@m3wCcdKSc@;MD%rOcZR}e zPXJt%9iAZJ;kcvmIqgDMsRn-I>8T0G<}1A+#uw$0(2TfDCkN6*Ya!^Y{>6_ z`G2`M#&|AM#`NqlDZj;zJK`3 z;8%%^;o^<&`=&d(Yx3;{ph0=)kTdsZZUH0eM}uv0$?CsfJ;Ggc40ZcwQj(X2u2I{w zu@G!c>N2k;6)DXmjP-S~9tds-&~ArIO3VLWRd^&Ib`B2FPyn2W2Q|&ysxJ32Jzr3v%DZq|N z%#;ecv8)zP$~_h9o97gl@C~QYiKNOF@Uhiz`A1EkQ*TGJR|QfwNYC}_5>!TAII$4&41=~9S~P> z()KoYc*R+$E{F)M3H95Bq;tefYxYFa@KJKz`38prmia@Bv^9I4i%%H$TOPr3ukgdh zIU~F=1}bOK_x<5)!@lrWBhTrHuN%fl4czn)eX6K}{(%r993B=SsK>%l1Zq>blu!pRmMio)JSR&S>Ea>z{r=i# zGN7SZ>5c2N6AYs5?TxX~_1!wrZh%oN;#g#otFc|Pw4g%t8;Vq%#eZTY+nf^3r^_8U z8<^1Uk(4_N&%w%IUnS*VMX)J2ipmjha@VhjSk%MFQ#Y-V;&= z=o9UgE0f?%RDx;T(@x9!4)v{L z@ybT~v+e|5I30HLv>9DA70Pffj6?Tp0!dLh#h?|oCgIiRwI2P|z25mnGa$F=FKGV# zL>6B+!DxKm_Ja74D1Wq>twNS*vI30Z6hjSWL~ho?{Bo>FAC%rJXmbJ?#Ac0Cg_cYD zL!gd<)EG9lGJjV}qExWlW#@U8gi8mxD-7yMo%$S(KbPZ`Yn}hr`(g;LI6TAMRP!h1 z?*)9y%hz!6cu}|)fzQ_kWv}R-U78GBB;$tVvlNt+OYJU3;}9nPdq}qq4p2H$o4kyj z!O-6eXY@$It#CjtS zBAxG48NM=~KsNUkz!y@Nc=PRmOd9n-f{)$v07Yk2xj;-Q3_!o#2%!XLa(7@R8LS)k z(@c3;_ohA3m~fnJ_jx2x5>B5ciglD8H^T%#eX0UYRe>NR4<;Htf;TqJQ{O}V=z>x z0L1dV8j#RlJxv~mc%P?FV#}?lw~f&`CQqDHTL5m;K-~~&D2>YPa!d;*(_}%##sE7u zR%17&ufR^vi_Q-g1oTn6)YN@!VddQ+7ch+*iDFYaO(TYigpG0}-`0Gp6YGp|UC}6KZc{*(b zeF9=yYPC8_B^G>=A&cwx;BU?uD7SfQs(*Wt7<%>KHr5#S7S8qs^T_fO%{;$2U#twH z2iSrKpf#{(M43g!1TiY0Dm;79_9^x#Xyl@97!M1m+(xBS!y+h4UKE*?nB~U8hIdl< zBASOrCiHDb{EJGzI4yFTzMT`=j8ec%JbkwB2(vBnpYMuc{MDn@eDx*$ce0xxEPo%| zD|#bt6?8hQwNo~wktO3`F+-hpj0LTSN;e0^-iDy1rHsVzg^Utl-D38DoCzPVl2^6d zAi_1gFp?{&X=~bfU{&V&RA9jF&6}v|yQxZv#9>qX6s=XvJ!b_=*O)71R2-i}_WE}_ z|3PxilO#>Iw{_>yn5ySKja5y1sj{;ACPJ2s>l5WYt_tgGiTlah8W-uNEFSz)z5lD-9J&AMzZ0Ag_ilR0e|;wyBG+} z=5xqXY6q#BfEOGH<~3eDdotMy)hzEI1oW4Tq*Aw!N|4xeSx=nQSFxLmiH|A(2*)&t zVn%2bfWmmVw;?+U;PaPXWYg7e*%SA^msUKvFHIdjbLM>0fLw^BDcnhh4fD#25IC;t zW6yVGr+1DX$@lWp^~P*hc7K7248A?B<{kid9*-@98;%F z%|IlSx95Ji`ex~t>Z&+de&R^NE7GR(O+Cl7+J z58~RU6Xi93#S9xB_wae}%ybyXXr=QLF9gqZ$VXak`=348Nq7rk_G$^QW} zRqH61@lga50y8(4aS8+zw=8=B=TZSVmvIUN6SpVM0n`ryG%=TP3Ir3k5Z(b{3j#DV zmvIUN6Ss!x0g8_TG&PrT3Ir3kC3yngQ~@`aaS8+zw-?R=;a-y`8wR3y>GU%+1Kc%*e{j zf6N0%0gwXP0iE8>W&jgUfIQH}Sk2P`$O51?{tGDCJG(HL7(2hafp!)kJ0Q(_ikQ8F zrxVD+(gpBdgN=dVPo+QEqKp7pV^eE;cV}x5z}U_VAj>Gv2vD$he>Z{v)b@4&6QHHB zjXA*H9H0i&0;sD>sHg&@R20>fRB0IBe+#R+Iyl%n{SOy0RW)@fdVsiyf|>*Xs6h{q zQdd>`^Qs24GXXkT&;u0I-u-|2ya)bCmzPizQPWnEU}5@m4*(W`8_>xa^r!7VxKX|{ z1N@uXd#bsUz3pEO0MwQ)E)Kj*Oz!UPj25oWE{yh07K{!yfALeZ1UUoT?VYRvfA3c( zpbhXZVO;IZfKC7xOW?l>{8^Y-jo&=wj^R>I^XY%l7^Rno<3WAP^wt>g4pN zhy4G#oc^!P|56vVf4?(58*g7@fA@c`n6aI!v)A9W`On)nwYPHyIlDOjt0E9!4zdCM zVekBB%|Ld4+2lnOWF#e2)fnX7N6wBx-u_)3J4P1|m%pO_)Dsbx;{|YWvjbRJI04M> z<0)ZhCT4GI`_9@K?vH%ppm&{I?43NB{yEUrcJ}Ue-v1x7Imph;{EzNtf36Np>UJPU zSD=je{{+9A;Qnp10J;E}0YFCp(8JV{=})u2X628W<&XJY1Yd6ldk28Iv5hm(7i126 zzrcAr8@mAkE>5mMU+=#={u9BmZ~@FfrY`Se{=QY<{;DoxXKoMR`Iq^f$^W|kX8@@G z+MqP=yVK0x&c+j91~i9be^Rh_c^?Pr|9^JbKYB^J+Sn)<+XAWoq3A!ujBPlt3<~mVb%(FSCq`@%!A1*jd;B- z%|Lb*09Fo8fU%R4u_qk!`xLNpZ~(kn-pAPt=<(N>0GJr<>|Ned01mD$z5sK3C%8XL z$-@O;GX7)w7vcdhnf@PQVP*y}nf(p20GNP(gRB51^S?nh0F%YvAP0a6^f$-}V6yrf zGC)D9^v|LiQcpSIxL+{?VbLn2J1UX&%fY*uASfGo;ldpT)deZQ1IyHYKR z5KNob&9={9f2MEEl!f<<{p9`dkt9UM^E4RMgRmF?>VknSZ5EG-yLHfSCzD0p4?D>GeSE^iMQ@iE5zBCE9X zMulNml{@Y2rN^W`zs7i{9;?zGt_1cO!IuU09ow(Ko>cV)&6Uvc zJLr5#*?E>I?X-xy{eXqs$_c4v8QpfG9h#0&2do#j719$p zQ;1##e^y6cY8{~u>8vp-IjZaH_e`Ij`attLQyiKjUq4H)JE)wb;hwpJ)#LV@(LVl5 zo0;$;tQ6uo@*{-Ghwff@GG*@X17yYE%Pu@&5ODpDUVR^;9=}0O`0_$!+lzgefq(En zp6{OBx{AMPUqibdx627QkFF+8Un7!8y36(Gf8b6v%k`PbDXhgdSrXa80m#D%kpMl6 z*^e{$c6$>K;!nKl@A1g7nSbl2q=@_PX8Pr ze|x-0LgeB9fcHu1rnfYOA=>eExlwU>E*>#qTs}yYr}^{1m!P@$G~?}hk6%Iin#@NW zgB1co>*lioDP%Az&L0}k%S_eGLpx4vwL%L4(_vuUq9dwlWJ@$+CmB51B;LWg)*I&0 zDw+`WIh^9URbm`5SxwA3;?EhlQ9pmbf2HY)IJ}((9yRv&S|0s~w`R=btN1pdY*t1S z&a!qjl?h`8E%x>R%7MeN;zvF5UXL(=SiJ7Cv(O^7!-#vcKQ#;00$tAqTlOoDENaGRHROx`QX8OE;Uj|SC|)*cK&Lw6 zP#F)Okj4_am%9 z`uV`+Z`w&lJ{hF-T&4^Xbfbj=Xbh{22@%JqBUS>!xHB;n2iaK{h+QP3dJ{I{Z|x7i zq)2wbYc+15!6E?evk}lD>V}^p;0@gxYIC1@rra?VJ#GwK6TUPK&l%qtf1JkK{B$i; z?$!B1PVa$Y?F&WFUJjW=s8HWRJ9^IxDya<|2(IfFwdRPTU;e_4^w{S#NAU!3KZ;1A zzd=hRpTjfHDbbBl{G@iLDj?Dy?f~juztt zCT>k8*&?l7o3e2u`3=x>x6Wgu(wb_JEj3ty(-r+gRbImMSteGn@yezi6qg+|Lc+6u zs0eS|WrZl!(9HG@_v_`|pytnwslLWOm9EHKym+~XH;Z%Jf2QYVykbdyLnz)jp3`$- z+J5Y~wrb+xe4?fjM$GJXg{$FI*`?dZ^E`NaS%U2N$+9rg3WV;U{N;W6KEFX4UmuGV z@}*2Cd6AGFKiC(ZCU#tlUlLrWV5_kRmtWk8T zh=wDPOA4zreJs_WR(Z$YKqC1o>T=TM1{56^*z(7=_9VHRQ%v};*g|I2@iwXMZBOV8 zisEp>rFqqq=zDCqC%)4wM`1y8nTkg*GSAtO7=!r?f8$i?xzH-*GGsqcz6}4` zDr-k9SdA_Z_+gSd$os(b)HB`lESa=A7jLH%pd!8K4^te+k6N77wMnRJLV;FO8d2rse?71 z>6?U}We(lEm$#-15O&4yNHalxpHJl?rGWIA^I4@>eiy@y`pDx^hJvg(m;)o#j&cH{ ze>omW$`5o8ywe6iV%Mudf69z5#BzHd17Zc?3bPDz{)py}4do9~4sfRMFIH-KRH*dgK+k)Xi-3y(o+MUsYevt3&j zW#Z7exj>ON4`NhZ%tQkNTDE|k;LjVKf4M8%r?f(J%UqF-lRyPViDiNJ_#z*BK{_ub*zUmhBB@y&NZ9f2xZWoVutQ zJrit?a~51a?OLZz3oPRMz#*tA@5DX%IOf>pu8ML8G&eqnOybm+1=BOnnD%Ti62X=L z6EXI2(-a_ifrm)Vs$vJ-{PNum`q~Ud6C%#kuH#rvYnu#1{Z)>@sECvDBUD%u8tyLG z%cZw~;SrRfMeqZjP$nt0f9Y9%uGvvJJGQkMa`L05JUhh(+U9}gLQfPkH_0IVjwvT6 zvkwpQN#>x3PC;R#<=jz$(HkbimoLGxVjFs2QEqnwxhXiE2yzrkF0g+il#Zs4 zfxq9b1czx$bTH1V*2CZW3SaK7jG|wzX57EXYO1pq@q;~l+(oStU^98GXl2<24L(QH`$mi;n3P`bX?3KIVpgHk z*mFr}G4+9=ginGH9mQ2vOD{5qVm^PbR{qDSGEc?;k8}9Ov=%RJP<~c z#|@rVVC*#kSTAU7id1CTo|J_@Dv&DrKWKl}>1`w=`NsN5E9?fC_Qq0>;wdv7H=rbW zrD3nFS*Hq9*juPDL^5GxdX6>IzhN+=MT_jkS2nqXwSgV(e?w{D{u^c?v)DBe<`!A@nPc5^KfWu0w6kJ>rRBE+zy~%P#U}>L2Ya-=+FPMBPkvmcpQ06iPI)f|g9*qMXZELQ2 zqEQ5|e@{`pz0(k|ner2qu3_xq&3F|e51AiQuo|?zzU ze|%qqCR$?wB|*jy*pN-c`70U1ePeM8DB%1G8ODHd(p-^*(|Bi(dcwr6K{E*6ns-5$ zHhAkQNP*82F$3VOTa%1rg}DgRqTNol)n9t~f1H=`EPK-7?uBC(%ZJh$2l!18ro-=z zuayn2n?H)mgPcO{7VB4fA3vDCZc8hL=kXBN)n5^YuGlDLs=3R5h*5vT;6f=1?9uZ7>~?6v$%fY}hdo02Dp{`roCF?(?q0QbrAc4`bs ze_*0hlkbU}AP)Yuq0PH0fH+`omJKXhc0JLm^!C?llo>+@&#wH06{>$zvisH zQ!%qxJy|eG?Q(bbLIQ`+?X=5zlypc&V5_ITG&ARb2a+tWk5h}aUx`A*e=mB? z0WJHKBFkvKe!0=Vic{#uVhCt(eE)qEh^I$xAbMBehNa za+~Q%+NG-Y=kMh1C6BkAz&07~K!grmtmrH$oUe!lgr?@TmWC0ld8`hGPkJl~i3y68 z0{LSF*sa?l$41ENpiOyuVW+h7-|rGkYgpqp3BDySUx3lT*d~{qlzPgi?guCrs6yG zsBuIfqP)Rjj)=+Tva<>m1T#%-jX5u`4S&Oje`eRbtD&J1ykHiB$FT=PB^#W4nbc9x z+JzPE6QbW$4w-9?w|RS1vaE^73c1ps5<)cyV3w-X)y7$Y!5Rb)e2O2|C37Cb>-$L; z1t{QElZHv3_3yf(<-hhCOOiMp?w5aQXLgxWWO;cgbCNauL6DJF8}3IkKmVcSv9ZBl!_uTku(6z zvB^awCsBTD^O5uHURyS80ll?mi+|Z>nu=;{uz*i?j4hYTkPRc|Dg&hbi~Ey#rR@HfsTR?U{G7YQpOE4WYAf|FT&ftM1Xo~|9_p?ql~g#^k2LFjD@7sHo_SbTBOh!@u$_fp*}k}W-TSkx zk>LZ5=eL1TC>*Z-0v>6WZGY{uF`xDiaCaOT>icZu-XC*6Zn+;%BNuFEx1o8AZ6fVQ zqIV$3)#Z_ppW!Wh&GQ<#qf)EIJiN2jimc>Dal<*Ev*txkvP_x_G@0ggqZMX>#&*v+ z(V`OG&x5Dc*A_#}n*!!!!v`!Vbaz4W1fVAmLyUfp)4$K>(&%Ht`G1T-##Gmu^m^*;VX6muN`tGn4@LW#P6(=l%+2bT!!(oK~wgr8EjesP5wnU3b=uN+dO zpJl&omhgs{Qy+^&m46asyxrU|Y~I#pSvtuY_cyI)RNlllsa5q$f)g;%hYt_{b4^&8 zdoBd2P*f7J`gdx7JlB@Y|0iFkxnX! z^f?!SRK@;y^-^AqR7$qVI)2WdVPc2i2#EW}0>x|V>fU+{5cE~*7%7Ia?483sb7 z${MVprjysyO45N&z!Ijlst$Eh8y8mjfqQcq|81EnL*u0G0)T|oj=o=HpM>GZJxPU) zM>gS(C;VPt{3@O;T#4Idj^2 z!$3bYDySN73;&wgf2&S^ddDAf52+L*i_jK{B94{OdVeH>SCwhh|8h0&n%TLQ)AZIf z?VyIv02jSknEOE_h@f&PBbzkN&tE8Z%#x+FI3+UFyaaQP%Gl*Pq&=%vg!zW6jB^Lv zRj^O1*)XtReE~>i-}I!vxN|(P7FVblZ)$BQ(or#|hW9yFE0huQiGaSCxs}*jD8Gv| zTRv1!VSi7r^9S9h{2LbqOQ8rzxa<+DWnR>ca86beV#NRQ^;vjsT@MDyBQPY0loZa? z$nXO|51`BOT?FP+o~=6aAqSn7TDc5r2c(*DVQcIe(%Pze(+@3Y6NcCYnKDTi7G5@VAy! zL5B`|K)p8P6kp>%2!3h&)E(ZCp-z%HpJ(WkkS)I^0Oje~=$1Hyy7(zSCCT^!Hrip< zxM4T2gy%kikHnE_TmrYpC?U%#Z9f2eLJm{oo*E&4{cDE!^ij590I#a( zZT@hzf&wPHj@4y=`C z@YWb)H#!>N`s>jpK_qhR3n22$yY!b!nXDO>6S0bydaDRqK zUv%0by_6Vj3y48`Uj8m6?$H`5yB8TJJ=%?pn zdOtJ9$HkZBT%&u@phh5)7?{hP%75M?z$J2_f+)-kO%K0#+on$@O5;YM`i0iXM(|sI z^SO$ot?ee8ZHHKi9EtIa>E-&=k)apIJ-KP}w;%dGTU%btNWSf+!Ji62S@K^LmNZdR z%xMqJe^bU5tC{NJw4re&Z%$+8r7KUg>sD&wnjcsv*-|f)?1JI9pfKg<1%Jh9Ykj)z zcd_ni>0VxF4XyImpS@GW|R#FOx3yQr^h{zMQS24O!%kXFpqj zUir=)cMUoUDnF3?+`dkqcP^;a$>^isn;BaBm51~dIF?Z(#otyV%0-c6TvR92gPWUx z8kMOdb`ZW5tAgd+Mm|00NQaHSeBl@qEQR0M4Z#Wad3J)mEv`L>^M5pEIkA5`&A7Ah z;NwY<9W2O4d`jPt(*Z@orj3&G3(NlAL3W#Xt6Hs1+cGYXB!_3jwP9E4Sjz#6H$nN) z?W+XWya4n#+UI^7#6SEB+bZ57sAX{q{Xt6k4VJTVniN#t=_2;FBysdJI^sT=tW4ua zsgHhHZ*Ff6iWFG~IDe&FKg?YgS0ypMhgcb&*@!a+lT;;>{4x=p4?9eBi%q#?iNsg_ z(z9J>HvFpoI;;ix7%9BtBX_y^9U3u=T1n*Pb0Z`M)6Q*_ASCLC9h$UVCx<4y7RWFd zOb9%|H!y3ZgxD27>;SrWd`yna+M1l;k8O=t*KpLpAYedJMp0*+EJgF(Yr+ zh~){|GZ|FQ{j5o0(}%Nd{adtO^R)pnU3_MTDPHHl`h0`Qf+tW9mP8V@4r_DSI$vfF zG;a8^dUn~w6MqEsqSmeG$os!-axkH_+SEEj=XaCB5R+G@Y_pen`A1dNES{y-7o5 zw~`(~Ak~PJIV4|s^*{tBf{SVDj8Q(<45Ok~ao6`FYJWfY$}b&&gNV3q?UQWKcm^rc2t}fn4`X0$k%C%bPv6ut9}R?RA`b_5`3x zW&>suVLE_7S$`0QJojwB@CAVXv&W_U_5zlvIe?Q1q3%zA>t< z*Hby`C4Vx`uj6LWmys#+OVQsY*jWY=t9_UBKrqN7SSs+9HT?bfLD?Za!Z9|{?9qKJ z26nr%5y}rAI_}E&rqVl+tzc3{I!jPqg#_{$hq&bwl(b$av~g)dOl@2<@*1i|DBv|C zUNcvCDt>>~k&iFtp)k$5`1BEP*@+UX$$jEgQGW(S#-v@*XTMpVta*_S`UF*PuXH+U zKjBVefPtmlzP-_smgoLALx!t*x-RO=Q;eWw>h-9j>RpxpC%yWt;87^vqg65q(_Xrq zDvV+@r~wZ6oM*yQf)Y31N6*yn_*Q8{^GUB0F9v=1&i*TGFH7}GY@E}z5tf2M!^ zhJSO3p1~Rp8trcr6?No~*;{o5_keaA|Lu&&A(V9YY$3~zfjg3Xd46y~;&pjHc@l%} z1tEwQfkz(Yj0Yjw9lY<^I8LiV)^EFE1Liw7;Wc=h z3O`aQvlHG5eRPzS1%7FjH)V`8W5#}2(TO$JY4Mwuhs*{o)Y?>B%6s#2b5?)Ge1BqE zACY!E9$t37Vw{XYlz*v>k!l;5|1qRG#l~7IoW%e-%##?g{c0}hTMhC5Qe19jLw#?2ToaQMON_#SUD^u6IHab+Ed9Y?eOE{7sw)Js$ zWgOu}Is^LpCqA^k8rh24032c(C_I4?6CYxf`#6lQgxSOeh@jvBogwL9io>;uYHrcx zAk&}ZI$vi$nQf9Q@Fv;|KF&7vsCQpv^d9E%ac24gZ<&wSz|>?hQ-7ai{3^@5>%Oar z8B{^wk0#(no=@?$j*&%@LTGOd-|{uugA=F(Z5K=@f5|=gLDVrv<5O1j2-<^xXWR}!C+d4aHyaujDk&0)}x~a)*m6u`g38Ehi$Vbff}&0G|Hmn~h7(!S%UU2*g`=S1k&{0^>-)aJu6`9R1OY=8V5(+NARTfTJA*C#U{ zC*e^BPbQwUeEWTGkg)AxJpwxE}lz%S~|m7c6}#n|8u( z&^JXJw2My?HZ4tLdt(n4q|`fI($1qWfy*_=IKJt5eY{4}=X_R1Gax~;A&l#v%mRAn z3H`Jg4z3GVX@8wWghqRAP5aDZ#2+(~%>3wF6r^jH-MGdd^X*%9dUF?Gi$ZOp1UJ39 z1U~q6Mp^Y1UOnXVPX^#!ye*;eLLcYbT5_OFsbDkWm^;Q*18SAT4@CBNV73nSB;2IA zyQLkTCVxeL!R3wj!Y<*Q;k-GM6Rx?odlmPiH))KoZ-2+)C6CVpsEkJjpymlNzD`Ut zaI>?&rT!q-I*mZ@#b9#UP?Kdx6A8xa8h(%h=pQi=Q>GeM=nRi({Mf0xrhKsk{221mgpTnhUO z{oE9>u77y*xQ-&C0Y*uU8-uQg82=tr^>RfT1)TK*Vlv_OQjX^B7yIWNuZ1n^6tBCV*>Gg zG73 z-Y*=_FW-MRHTQReur^6Mqwyg-SC5<_37nC}?U2D>bPD(UL>>U_$SZ79cckqo?Y!aF zO10TfeF-^{6R(#&_0l_D{q`<#6J63Dz}-)iQk=CZ*5{fP$Rv5$f(c2@`59k{kALaW ze%tiUvTYTXM#VA-YZL|raJ#de$&9|%ece@5zG->Z3vYOgS!`Brp;1?nY7xaP(|4Fq z_u%*ltz!uPx@d&om`w&5N*Ec{R(49yi9G;F&w-S+h8u%<9}N~(mKNX#Kl|#jWXG>kcJC^RCmNT8q)QJ(ZlTefaJ?a zFKEzO((q~_;gf`01i9Y}SOl1FoS6HvI#h*iLdv44h=vzINQW?tAJ>LNWli?;de-L~ zKEXlm`K=awFstb1M$Ap8(5t>7;jZ;`7R@DH#S%)!V|#-*#+bJD6@SZFiKL}hRxVRL ztyBlDkq_~AzIJngZ629lKck12#Sl63CXKfFUpq_JPaZ?%G&>QEkPu_Zn#(qg48Qsn zLX}kwa=W*SezHsOuwfR^hL$plx|v)m!Ph`>wMwMSV}4z-UZqKlqEW(k$HELNUD7uL zK0f^jgdJ34>6BY&toORZg7C3}ux#Tx#WETg@h&7a?>eisiND6IIAWytyf5 z%Gc3Fl>&GAh?)sDi*hl02z^gSJ&;4zVsHC2nJf;8O+7N7K7W3%>DJLY4hkThaK(hG zhk6pS=uAw)QSud^0xApo?2zkwr+v8QomhFr=;H&0{2tU-Wh1JJn@wSqZmT9C928ih zMQ3sn?yzBf!HL2cOuO5k$xb<(j90@bM}{5G#>y-ByHqP$RvF%8)A%YuOjG$8gP!Kg z2(aDQ!0XBqjDPy#)LPJXe~C5On?O4`(ToK4jk)TE@ZeT#npKMN@518BLSNUT5A_kF zO4neV`T_}?4ya>?IRtU^JJ+hOurr(eZg*cm!6RO$IvY z(uL9nqw;7M5UinI-Z6^^#@|fEp9h5@tA2BF4uD*jb+yYt=edgJwIYZ?+ABJ9u~j^t^gZ0(dKbJ&F>UE$e!++FgX$IrJ(@h zvx%)QiDDpW;Gyq*g9l~en!oZscW)U`7LT0_q+v3!OGHx>#^vh+!_o61m+OtbY1;~Q zAM!7BQh#XiICyX1Jv>s?rwkMz z_n>M*9I&EqmvtbJ_{>oMjlg|fUNuhfzRRSBVt*5m@1h@ZRuymbF`xjk{+po4ckh=E zP3wAl96Cy0#=9i%TgZ*l0mT!f(2Ur=8AZB+@yH4U`IQwV=BGc6r|Iq>bkk1~ercQN ziTTQe(SD^ihG;pUL5ZQbtSh>QIZBw-V#LK!HK6+iSNQDvNuGAO@G(Zp1(};u-y=AM zd4FpoIy-~oM@#q}*xLFidgwXw=&Y4j5#wNP5thiTbCxFX!-Jd4H;OS$4+LE4)Hd&HQr#(w|`@e z7$mzp#p@tY4Gr$%>lie*tT3i*qr*tg5!&o#QdYwG6Ccq{<(Saaj*kZiS@sIKF}VB> z@Cas3Wb>GjS?Ji~rFtRT(~0!!krbWlie%KYxxc*TAh<^wwtV#OMbA8eIMe4|1wcAavLP1CTo# z{e(SakL2p*)d0Vjsp+HrfvzBY1STPh6a!r=xgiRj@ADp)HVbWCK0DUTmO4r;37h5p zShAIM@}|@0lP7W^zKKZ!jp)PXVoNS0#^1NJ^b_WN1oRt*PT3IAKb6_-Ckb`-$@t=2WGd<6Url5?da+JBdpWoaQ+LZd@qb2m3{)-zr=`~^)|c1o zTdI^@VZn{yqiZQQo;2s`b*v>%uiA<2{pwc7*)(xfEaBIRIe;9G?ZOwKG6L$eXG|}X zVA>e3ewb2m2NITuNTwPwD-eFSq0$co_%E{!X#MlqPnX+Z0%C`Ovu!y)?H3{Y@3m5 zFx2lpM~clt2ji^kR%8KCD=%EX6c%d|O(u*iTvEuscz?Rw^Q0xok%~?I^t)*Bc*>dC z=(qxH;~A>EN;Bw}^*-qsEhWY=BtW25tMj)(3M-x?i<%#-k3Z#`*V#|lt-3airjH|% znk}^Md%UV~N;z8Mq|()MWocw)qnro|V!ODpMD>$|EGD|J2Ic)JECE>o!qIKb1Wb)3 z4qlOVLx1||M~v*)7Cz^$`Xa-)bofj~lOhed2PEOSirZdU2M!467LA(%H4i$FFf)!m z)>o*9_P6WU9VlfH$wb5%ax5kC>z}`sADO6Y_T=}G^?o1Ogc))Y^CzFvvlTd`OtYwt ziBpO*g8Y3gXdi|L$9hhtsxVehksWTZVl5LbB!45f_bI~Ll;J_c$%qkC1K=G;fAf2{ zK=jBUtBizwVwBJBw@Uz)?6ar@x6sijpqBBj)S5i*iiUZ%P*;4h_@KGj#1|qX^xDKA z|7-JiO>1l~kTf5O+x~{~wkYNp1-y?X%P%#KL+Zkmqm)kFTr|~LKf${4%3F7QV%|Zu zwtowDE-^l2u%G(Rxl#x{6Hl0M$1rhjDO+fo8Mq&RWLauE?#Xx3zbPJ*S0|XhB{1iW zL6aC37|_UxhUreLB`b|1;}o@@r?Kz+`uekK z(ndlDJx9YZ<{-r1spt4L5W9mAKCrn>=YJBhJ|WP{rRP;Zj5wfg3{22usxaD4cEf_b zKntRDWD2SV>#}IR^e3`^C*Qf$Ae&uCleXUqPzRk%Wb6VNoMARAi!&NQah10k=B2}3 zLuw>41=Aa`)E1BZadpr;zuzl}a)`exmlD>)f$VFZ>a$Y&(6pu_yTOvPCAlnPM}Hd& z+*t0VaTc z7RkZsz*HT}j+c5K`q?<%);%1O(h;G`Fwm?=K}viRS(AW7T@Gc(W@EtHWi;j|lVSUHiUEVpEDS;*tK`Ye@eh^Hna zHelyouKB<%OEbtlQ>d;m;!GZpC4lp(dCXFswVdF zuY6pn?jw@?2Lp7Fvd(BITO37jKn|Lm&Tol5Ug$+7-R#2I9~h?TAbV5FUVX4Q z)v^=PY~!J8dE&MzF(+M1$Qh?rR%NX;F?z<8qNn_m58Trp+J`pKTz^7)x4x~iUORZi zFamRfy&jkpLdo|%rWvf*C^clQ^#^GDoASIK1D-&-^XvIIz^zRSeP|&O6-Q;+>4F@( z97ft9a+Ymk@zZoFNBvk=9oTm6`~d(~RwovUogu6d2fZtb4jQQ|(N>3Gv{N!E-_{OK z-J?XH2QB%}#|INd!GHWo2n30?B-otwEBXm`{%HI9{$$I$sT}mxUn2_^r$=(X%lji9 z8W`aYEtRBJx<6>qAKI=~Ju0w&s^l2oRxusqwwjlNswN}#@R8|VNJi&J7hV2h(YH}i z;mLs#wK;quHqMr!`2nCtLfbYpjR!6NJ@~%I{6^}W(6&v@SbtkDgIf!i#9V+sW5Y`d zsqHM++~G60PT-)!JTnQVH$M{*^PRWfe0^4@i|xKJaDm2~Ckku5ci(k(6Z!*VSSlev zx`N7)BcdaI=;D%s{n~kFD9Qt9R&_Oex)$nt;h>BMhCQ*#R*5TMTx8Jh?}vgTwx|Dc z^J6$DN;Ic>AAfsls&IuT5K)6}v}ynxH5L4qBZac4RQDd#MRuvvQ~t6ACcw zl!LK0G#vueOos{v9h<*OO}hFr(5A47xUEaIXsSnE4&<-Ld+ zhZ;%q*L{{;XBG^lcd4KAp|F(WOS=hR-~I{vcKHz^sy0So@N>Mx&}->$IAP>p{KDBL zAeu5|?#y+Oc<5)C+&D#kxU0yv7LT4$=_$lPrlp0;rm7xEjE?%iI(zr97R$!}@_Eb{ zLVunTzDuLK;1c1uSR}&*S9GV*q^rZj5)HyP8J-G)9TpvpH)Es{A%ASa$Pfabhw8dX zu3CI)dZ8{o6IpyH#56pXS|A|&tvR^nKraI~ZPNPXqKn}z31GY3;{L%B(QPmz)35O< zTP1wJP4=KH@ukb*H_a+$XN;9{#<}<9_kSq|XsTeZdP(`hy}d^ntWF&c22n1OtYLwf zu%>ELGvb6>&#+f?@)fj~U_RNUG+Igl`FydM#oBFh)1zJG_g zo_O@_%Y+J5G%wK0nEGrT&n((>SJ@&s4wO zU0g=osa~P~B+6Kf<7l|j+;KQ0viASvh;S*$wLyRR6{abZpT?@?Y(%DhH`CbpCH>h+#&Mwm{b&RshptMOb_2R9%E$}DAok4`gF*-3v7u%)28g~1; z;7*K-biZ+kl^vEjw{>RmYZO*t&Clzt1_Ey{9eA1_mJiJJ&wubdQwgFlLnzJWuh{ig zE%KwXV-zO~cNc0XxpjJMMrpyW;xrvN-q_P_kIt!pY~&>R)auPCnhy5_D&!)SmZnNs zItoa-gvY?v6qUGdU>-&ryJUspEcX~rY&O5wKw~cT{FzSV1h?`Q zH@_hBGHkb73V(OmqsLP217}Z_{ytRAJPFcP-W^2UeLRlt9#7QtEiHzNyh*%B2XlHi zulYgFiEwKQo~)OFfiA?N0k!eW>T81qz2^_<71`SK z4aUJtC>RsE^nYdZ_tY(Tt-NGIMpr7ccTYad z#f1L~AI+b1nxo8dDb{^7sy9Zou`0G@bZb2K|M2VTR+e#MiW2Cm>0?zAhqNhslOyio z7d{d5jK9{Ya^IL8S_a3pgBu0kqwbj!&i0u${`d5$7UIpdqqr>VEQAhN;L|5QqBc&m zZp6y(M1QIa`ZEFFHNZB^W<&6q_Jjm}QPL(I$9rix|AzlOVOZ-HahR6^mFCvk4ceejIue2{?V0;Tbmh3B^5aFKk{{rJ59N@T2id4v% z#WC;6n(hL!VR9Hntu#1KBbtH^Acjt;K^$vNEq@Kk23k~?FrZnq0vzI6F6Zh4vTMcl z8#Nk54mJy0d|PTqL!?8>8_-SQ83>MrEV!PHvrieT%e0s%fgV59GE1tl7Aq+xO!YdH z)L};%`35L+UXzl2_`ruesjW=3Y3ia^>togrpSb)VwaYidyILo?wXirtw;oR7;aIi~zkh<+t5jHF{U z1dz&RG{2_xw?qO&jcU+G^bpM#3I9r3w-m7v*r@)45`;0DbNEc?BD-P6#wfjHjLoD? zwhFe6;m49pg@9Dn-ubqV5D!E8U^Ex`Sb$u(@HTV&! zw8Z%Fmf2CfM^+F@3`8v$hCoUPU3lEZYqQaljBsi4R|UUzA|s;(SL&h z0o^@ek#ytyx|I~&C`YqgM1K^H`vU?LXHKh>y%yB?T2o=;4(Y*_T)$|Ia>WkYLEPRB zt3-+#XXF1J%#ygI0SaHaMl;CjmzXsGfC6#*%-P?nwdp^QI*;rD8SNSnwtaC!7BHfH zc7U@r0cZOhYruSQ{i671HOg@?DOrQgCAZE|@+#9MtlV@QISNkM+KB{tE+yGd=@vky zXOM{;>tHmkyr&2B;2jPSI#T}xsJlE#%tM#~xqWZ1|6%(k5}-77r!l4A5$6B83>x}f z+gK3s4JTNafWrb5fB4J}MYgPeLGIc?YXfOodIZ&_9I~bS6vmuU=+IOV0OQ|r)dBRs zpss>oY&0fK`E+XUEQ_!F#$|p>7B9;%@-NXFI#AxnEZ~dNIi}Fri7s*;gtcwLs!ReV9g( z9A|l?fkno}fAxml8l$<1Pft{Qu=SIMGz_1b&zltxC@41WH>z{@>sxY z1kPE}=#l{B-M~Xu?7uT5qDf05^mBe4T~OE5`Uq=!_~U7Ap_e^VJ%Hm+)JgZvEy%2m-t_gc1>%HN}{ z^{(vF98bRmK%reYc28~dQCf8;-FD+p@^0$5UZC zfqNfYP2h#?lUm^3Er>ZcYIxTVq)!=itE3asFYPB%E*LGVC~3_sD-SsVZnt;_4>A$p ze?oj0NtT_jJ95v_^?CHBE^u3I*5Q4ijny;U4vmHR+WcSGLi86VR43wgSVL(=BNnH)hA#3V5K0`chs6_#C?Bg0;ni?1?Xe_rP^^TO6rVae2- z1c8%d{GIF*)84i!;MlmWk<&ai??A&neb(=pnaNL0->bjM+@&X2JYE+Uh>iT$cWcr^rilxJ5+%e~=>d z&Tw9(R1AkKQ(!Rjjo0miOPUBgOu|4O(=no0W7wJjlS(ah$`;>_ro}`19e&y)sWArQ zG{$-e?ESwv{Th5XVG4EL$bqsV|Iqnv{PnT_QJy97rgt&A-%Z#U66pBTyGrAoZ?;vo zoD{|kx8vfZ3iibu?vv75{0tIlbyU88Oomsg`*kNWTL!Q-4}$em+Pi*Xl~PHM%yz6`8*= zF5W+uYg5bEw9J{L$r84qe<;PSC6JgH!+KgN4rHq91_Af~!^wX*;sU4=JeT5@SV{|b zd!U%2C*E`#Wb^SB9E$XZoa&=}>ntQqK!oHH6P@xf|DE)&!K{N5|3re+O{!%f#x5TuK2H zL+t;O1~18DuT`8~OBExwm!GVNM?^@nV3EIWt0W3qg_jVM;S{d)`q*7q^zsde6vM>x zL<7VG#umCc2-0O`iEeOhoub0zs@?arWz?b@1)X^L&Y8&O5CCjiimro71&7&?0!zMv z*6;yV?Js|*!=7oDfBjI3_@2?You=F|`n*JIoZo zvYYSvL4D~1&Za~7?7mD=p$r2^Y!#FXTi$5S8s;Ujht++Wwg{HD$JS zT>i~keQNvTHG3zJG=fn(M8AB6)Dco)2)=uAH6BRg4{q9TX~wHQkh4hfWq&e#X^M&> zE#-zIvb`>4e+-(3df{us4OXDC2-;L>1GoXcLC0}|28P5EzsHP1evSnjndx01TG`N* z#CJ%_h$7iW5JyDS6rc`?f5|#@zVhdq8sE83>g;7o;to1# zJS|tRm6LtxompEd->;lb)azszIV*g;wX*HYi54`%+^@l=SnF5;q))R(LiH;_-?$+b zkT&U0?2uxo2tx3zpLrJJ$M&G_vXc+yc?DYFK)Znk1Urc`N|U4GBw`EGJ@2ZxO{U{4 zUjXt5e~yswZ53UxUW{eSG6x(o zfc0^=MG14gcrM|6iy|f6g*QfxI1Q5FbDl>KL87lNe@B0PF6ME+0C_|pQlh-Ygo~!l(YVyV z&xBJrYCl4g?VThdJiahllG$Ckv|IXg`8FC2WxXdMD6DW{iT%`@#3lWGe&v-qK={1k ze1Qw!mft19q#W=;f0@IL$zvcICSYI$45~uiYlAZHK*TsU1OBAvo4iM+{o+J5m?bO6 ze-oxfyI2USI*%P&@6!evk_1fJ3bJp=mTZJH=mK*sOCzla=1kD)P>r~gVR$piN~QYh zz#fCKjpM+&Qio-{X*!@CiyS|mQwT06aY4b}GXY`MQa2q2Hv{JbJY^Erie^SiC~+9P z3LqZV)xHz^HJ7)s{I8fQQ%rHm=x_lIe`uw?vW?&sRgYs?Hhsti;$KFf!O_4g$kdoa ztpmyKR2R`5gamx5w+ILmMbqk>V|D1C4y!9xySR}=&VdYg*vbs4ebvz&Lwn)f+~l?M zGrF@e>PnT(=%daBvl!?0(H-0~pke3RA39YDKq9}9cZ(-{HgK1|jJ>gL>MDAuFCc0t z*g9k9jgqzv#J(2F)x@@*Q{bUlq6!d(zvsMe+YSl%BJF>()=dttaQ-fvmm$Le6n}um zQ8<70T4T>Dl73$;a}(+;RuCYauH*l-57aqH;CiHUQ@un5i-m+%{RF}vcO_&__D#q) z0f>eJww&!tN9|eLD9`XSryu@h+{#D$vlEj3PhXUBOdCxwl{ydVD~mg)z=_QIb?H44 zHJ2q%ihsqCm6}{*%WmZi!@oUL41cyn8w20OO{G9FN#t*MyK2ZC=n22P_@!yj(L9E@Qx$ePITYSQ4dge?{p0`ACZh=SvjDlo9HhHJLljIc^Q8I9_y|e|I?cnLXnFy zu9BOU*}afpd3Z&@q0jsM;8Nn25ta7lj}3#SDp8l~bd64PL)9}LlV6nbrGJX4IYo$w z9`jHwBOwqogIyS`-+nDLLU-T|?X^E{D@_8;eLW)ekE{_DulYCOs8Ax7C>!`VnFcfl zz#pHWhxuw&M=c=ZYjZz!&z(|lHbDBdR1S;OqJmbN^FA#mGt7y(Ma#b^J9PmLRYIeQ z>MwYDMw8-Hk{gdeAIlkfeSh_HxgJ!3QY?N{N$muj-zc5e6AfHI6Ox#Rav}Jxvjt5j z6(Tf#pdXp2Ud@nV1SY%5u+z#nYhd#d-oqrb8<{0W zHYQ|^(eaUGfVZ(G*d<>Y4;#>dSouJA(UJBo(l$eIenIr@bs}joWPjMGg*<6oW?w~X zSxHpPr1@|-CTdS182|vzqJ&;`T_hz|9LZwkrmWo)7nk-U^NR-g>FdkQ`nmX=G^E=9 zaGVzq+64@fBotzv8S{SUHJ5jLp)ri;A8TGOqvfCx%W%%QvMJfD3<`9)aRe?S_Pdz;(-im zv`zhBvb|R=0k3mjOO5IZ$Vbs*M%oxqm9bved}5KYjUgK~ntw3fTIvU;>?~!4M@WCd zwuD0nHxJSx4)QGncC;LTYM#}D+s2Y0jQbrS+1zftc#t zYlz-gnI9{*cah#tZUqnb#8>8A84Q4s6O;ajtRtFh@0?(Q?hWknU{~u*;IoQ@iXed~ zeg_ADQ=2R*0Ds0O!U%_-LZg`-jl{kw?WE;)dmy!Kp}wzdc~2+xvJ#n{A<{fhXn%{1 zG%#ZUPDZRDJcedSw^ul&$Qd5#Gh=!=i*dZ&i{(ie6jT6D7^6u2q(p8tz!|mPsWS4a z>Nq1Rb1t=U;WK}$R;9O7+}tJw!8cV)GVXR=;}}xelYf_Wb2e&+6g6RDldWw#ze1^W;=zmzTXPd8rTmNvT_*=9@fO+QueBoYgrL0DhX3?u>hb-Hlw|5{@J`S z1h>-^V1MKKcivy*X7~O)(dhn|fil8lqZSk%(DGVDRn4Xglhyk5w7cw77Els)NgH_; zKaKZ0kVe-}7k;4Y!Rp_Z&8F^5Q*bw9P+Ee(8&q%;KP0#7YYI$=y+L314-55&=69$D zaTt)ntXY@x8WiVJJngcTM@?Ui8(`%L$obVKynmO};dQbaiiT0wf#ZzGCm=~y)idCr zXANM>*F7E^m}SZDeLJR1*$V2FK8*&E)H8R0MGubvGV&W?m<`_+ibh%Fxo}(j4GsML z@i4!{roY5b9VchK4TP+|-`w-OkjtnTj?Wz%L{X`%$(<0gGA=?0mXq2D9ms#}0aNfF z>3^xfxta`un=zxFmfHYJK(xOoI;R? zAuf3`s+nD13Sq_CiS z=)?ODOiU2xePiQ`f-U+dBk>RU#0ut@w^~)|b`HSLcT@fowZ1IsSWO0Sae_lVFRF$qkR?XQq|S(ejlF;8EdvdXh)pqHR$dEk3~0b6MUC>8^bq+B zr`%oLX=kw_bTn-p;Z(_{>^CAH4niqiHW8O{aR+}- zc;%X8*AUbgxB%_OxR?XU$M4eq45M2!Jt!7HQCs=NmGA6z?d2B0T7uy8iPtXn0fQvp zTdL|I;rsleHh(4Y|Lv(CO6o{1XMXV}uF2`@hP+z8@Ma!@RktBAN)_U$q@O~H*dFGL zF!D(QV*2_2Blr71*|9X|_qnr4>i~aVE_qktDAu2^<&Ql;a#t>uQygRA=W3%);H+{s znop4l;M)re^^D^VM*gUci?HqJe)-es-Mz7tN4F@;09;V2?sIG%;INK7+$`mYV`}iA zWf9+NRVYe~>uY96@1)Yn7n21kN_!WEU7LLmna71p9+;FeBa8${Q1SiUVmE)ZV`Shd zUj5Ga`6Zx3fGfB3dP2i)bVc!=zol7r0l}CTUF4>t=nd@ePnzWisa!9i} zyFy~3ZD*d;*o=rh6>exFu^)f`v{rLuwSuPS4=I)mL)^wD1-k{NIQ?7>FgO<)@rtjOBB}ynY(|*ZG$M1>*?aV za;&Jd0PmtAkh9!@6Wbd&KFN=RXY8Vli{T2CMDJBd=ei-}q4zO7lbJZQ{*p9Vr%7Gj z54@WZG@1j;P{YRM^>L+5dht`uCIQ8#!=2~+T8aCHjW>{!$6x@0Mb#D_FGX$wo3x_Q6^;# zI3eeeTkOHOEsrpSApjjq3kZ9H$g*Tw-0n;6Rn1K5eazJ91%fDd!-J0D{E+a%TVkoMCY8C!Jd@nbw##=>_E#bNSrKZ+2ZWsyMvufkH! zFo>7#yuE*m$qG8i@XYhAHw>rlVNzKp;7dcItLt)OcI_bo1O)nRJlIYtOvD>QN#Dh7 zqvOMdN1(HtnihvZ?{ zS+QzuGcSTKk{j#$lJ0abmkN5pxlgPW5u7htHC{fd?t zMZM0)(ncNV@T-Ur4EaG-E4wr+zuk_%6-1o0WeL|Ch^cg?H0x*y_duW$7?F6ZdIwvX@u^S4|nA?&KfFZlo{nSq=!UDGg0 z`WCLQG(m@v0e!h0B(DQv>Hl|v%Ljk=c-HSF|FwIyu`=xpEFZHSI=db9en0v7v?Tk} z9oR?|AZbzd{y{Yj9{eA_7y)Gpcs05JS!1$fmq;bTxTl62_*eu+hpqeSB{8v-;RE({ zZSZ%uWh8ELW3WcQW600Q>G!Ud64MFc+hw(UlHYh=wB!a1UnhU&LQ-eh_&|TPZ=?VL zy)?ztp_Ado$WTtB^Vffp;YIdNzY-b$PlaDBLzwz59cv+v*(85ct8|S!!k1WE zyBOs3vwFw=LVA;|MP}~ZkhJ04D^H)3`s1BYjWqXz3cU zk^48-9odDt?iBsL7*wWpA>pUc(A5P|RP5z=%96SMqc>!Sz{3&n<R~4uZ`L**cHvXC+IZxekne1gdu3&R{wt6+Og=7(=X)eyXEq*O zuBkHdVB7gS>I*8G0o=X?%7e{^|Efrw)*F$=10EBgOut@TU8x2!+2vwN!r7}nsR&45E@$73v`*T65EZj z9+Y_q1Dks9TtOy-1(+aHMrERIpE-J z;iJ}@<})Y)M_Ppn2@k=m8ipH-8KwBA@gv1j1V4>bxlr5N{0hL4yyUNBYRS&bQb;uoPbfkx``z_ zjQ^&vZ2M%{t#ct{Z+tL@VPVrBx%aUhqcB92^Rk%$;c+s=CeyfF`p?GcI8wW|IM#E` z8u4Q45t&kR(2Op)rOT~1gv%U%mBLGpCRn!lQ|S=a=zO1QeIARRj_hF(5NA zF*OP=Ol59obZ9alGchtUGnWpE0~P`~F_%zz0x5sFbyOAF+C5B{G)N1Z?(UTC?hawo zu;~Wr25FG)M!LI08tIe{kp>Cjw>{_HqvyWgzu#cMWNh#(8G;y&4*^8UF0QmsiE|vf# zQx|`5DA{}n5*tSk?(GqJLF0ot3`n}Qu(Ok7-@0mgsXz~4YK>c0sB0b;IB zPQPj>{CCLdpECcYE(!wAOyAbq*TjGQe^<=J-qqRb4{iQEZBvlFvz4=p^WPbP0COu_ z;4k*hzt+sk{x6$?h@y<7gqk{|Jh<`f85KZab?lj3JY4?r{*_NeTprwt+&lm_HZ}kY zxJf1K&BQ=80i<2wR*Za?be5Y|ML7F z4=vy?t~81uCp#0{{~5D#mbCH!nkiekm|Fg&;@@T&7ZY&ni`ZM(0>NwYmr3K-Zn6cp zE%@lM`gL*v7+JZv|7Q%`k)}5GKxbzF7w=y~K(Gq`!xt?5FSY zazgsGm|UCyW|3c}zY!OJS@bvJ1~7~LMmzv!@!yCSz%20(;${IbOa4Zz0A{J*hz-Cj z{Ts0Zm}Pz=4gj<4Zv=nlBKI4Cxyb)UU@i*35txhOZv^I|^bg_zb5Z_{z+6;*BQO`$ z-w4b_?Kc8*QU8s=Tr_?oFc;0=2+T$6AH)l;r~4a$$4ve~>|mZIb`Id3@~g}LYvlm5 zFae)9PFBt~zXQRp@BTroY+!EhoJ>r?XSBJ?A7;+~nE&2Z{{(-t{%y7ay8O$Zm;E36 z{{(;~GyMl~f@_j*ujdJfoy-Z;cpKx3*hghU=QHG zigNuLcXTze{hbBO58Rx#CU$>h0jp#FI}6yu+{*2bw7-Tyu78#VyIA}#0v@;c^=1J6 z=>ndPBJ@^RtEdsc-y{p~3U+1aCACy?Za)Ex62ImC*5yi?1o~Xm`VQ>ux6Y#zH zul46({g3tEtIrOm0B*{^Zt{Ozx&E?Qfz19W0an)WcNBkEL`PQ;_@;dKd-ANm#Qe+p z??(NV?l1GdE3>kKll-wTtl;S1!g2mWK({~Eg%j-VY~}HrC78Lht%Qi0L;pW-zrV1WixbEOsAXjae)s<2qF@5v z&mMX#;H#GvYzKe+_cw!o6`=h6YWO2sR21al&By_kijf_x9ydGduf5CV`>#;bzh7a0 z-TL6m>A(2b69@nVdH_w4mKQ*#{K3|#O`&Ce5(R(L<*<~zOy4STgtTSjVV2XUI|%W_ zbGONWZwmuj{4=NuLGsdk27bu__Ql$i!LMzfH(HabrmoFYgm+B*6#NKLB}6{wXfkO8 zW+*KAmv@oT9?9n9>y&WJX0*k(5d$QYO1VQMGWk>UYATcj<3R^`f#1UPC(PM_Sq1q)i*kFMTqCW*+q}Cs9jkq*_sF zRDEOoLyZ_!SM0qZ#8FewTZB`6Yf?LgvR;3G>th>s{b_-)&zu+rG}Wrz$wu!v(ntGL za=NoZt$lhbxH!aK3WEr8szvaKhFrL3S@m+oq8Z72^A@$GuuxCaP6<&%#`Zu%S+8PWaVrQ5)w{YhT)q{sO`(9b?c<~E(FUKzy&zeD%WV2&lAa{y@v#%W^tfhIw zf&-d|+IWumc8`TMRoaTrA;mV?3T}U-@O+RB)4R&-(Q)p@{sEdeZwqyA%uvk4L^s=i zuwprXh|De3%~ur&C&zH%*3BeV z`REq~BAw_mgW9%htw0niRbyT@CIr6n0nshdxLv-f;kUW75#`R5;@tO>>F0k5^JQ*3 zG)fR(=^@rv$9&W0cygf21g8077c@L;ZQwoqk=hW>fInq%C#VcH`xvj7E!@N{l;2w% zAkO2|F-(YHG*{9w?qY=#b2~i2t3eW_71Mj^dT1=t>I>|uq=^hIbLnQ#NePDrf4zc2 z=`X2+vyaeirY0al&vlrS_z{1p-b94Ba-HM=wbnW@$lD-&X`o|zj^LZ%)(Tpax z(v=T7>7jWoR)hS{VjdOMir8f9?u03-0fLY3ueQ^TI|qM;iP4)ag$;jT6!wO+cnEG= z>Z;9wU|HrW`NLpb%>5OtD~R3>6_iav|BUf`jc(t&=BGO|@sW<82ILVqTs(TqnJ~0^ z4_Ly&I1@b&Hg#!4dkL{3>3W02^Kga_6o@gbYXoQOUsaL$EMhAefcS#Eu$Lp;$7Kq`&r5Uh|s({ zyxa!HC21rAR8L1X6dOyq>XQ?e1(NYY$I?Uv;%jHxlB%bVi$$c!OFAi;Z4wWsqL<@W zvXs3mNNF&o7Y~8k`%b;emhZUPJiJulXhwt}VMn zi3VAZck3r8oJT!ph%ma!+y-1nT6qIYPV->~Es!x2MPfU|DP<@FkhpZSVo8^Ok|rrc z&3r{ty>#Qrht;zRXEgkZYeyotgraoY!-k2E6PoF&boA5&=G=NsW98p@_Pv147n)cF)7EbM`>!ReB3V)UR3C~ z*g;d#f^d*N#lkN{B^f%v+eF1TjjLM-+K55*aR#i#UYW#bDNyp%hc$Pl6x*vWP<{=Ou)-WXc zz>VHF8mC>snIa-VH%*&z5I-3j@G;9L`T&8*xCNz?H|^`gy&g}$@A+r#QKy}P^-~@R z505Zyt<=XQHDS-{l9M;<=Nat{F&|U>24A=erBXT@H_9IB=(&CGml2l( z6MrZv=I3iuv4WL^}b3sm$myV zm}(xB1$-~dJnfF%Dh(#xw4gM4E-36l5`S-Mx3!qNybi^Ux(8#tEi%Gj(YI1DZvK*6 zP5N!rUj&axvJlBW?+P?}FmV`Xz~EX>dWKmM&-kw=?&}N5GP5Ki(=}rVwW^Icq6pFF z46X?95Xsj0vtBEnEdiaNP1=@L30~W0QM?0Smf?mWHF)c|>i6?(X%EHwDv+6+@qbfa z|B$6N<`hfvdNW3OK&e$&U=%nUSU6E&JHqBkEaag?*$E6F^-cBWOc;(&J^B{+A-(BTvLOxR(udOv5~_;QIbwph)RRClLD9XY)vH2y*`|o^)izNKcfm$1FGPy5U@

1nIB5eSi@)hl)SYiC6a7n2*W^?6Bm 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 G^8W$}M;9^x delta 106865 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ð+A)JHl}|vygSG%iF|sT;88nI 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 diff --git a/data/explore_qt_json.rmd b/data/explore_qt_json.rmd index 723835a..6e0b9ed 100644 --- a/data/explore_qt_json.rmd +++ b/data/explore_qt_json.rmd @@ -3,14 +3,14 @@ title: "Exploration of CLEANED input files" author: "Peter Steward" date: "2024-07-01" output: - pdf_document: - toc: true - toc_depth: 6 html_document: toc: true toc_float: true toc_depth: 6 df_print: paged + pdf_document: + toc: true + toc_depth: 6 --- ```{r setup,echo=F} @@ -28,7 +28,7 @@ if (!tinytex::is_tinytex()) { } # Use p_load to install if not present and load the packages -p_load(jsonlite,data.table,rmarkdown,knitr,RSQLite) +pacman::p_load(jsonlite,data.table,rmarkdown,knitr,RSQLite) ``` ## Cleaned Data @@ -163,7 +163,7 @@ The first element of the livestock list contains no further nesting: str(json_data$feed_basket$feeds[[1]]$livestock[[1]]) ``` -### Explore `cleaned/data .rda` files +### cleaned `cleaned/data .rda` files ```{r list rda files} rda_files<-list.files(".rda") ``` @@ -307,10 +307,10 @@ load("mufindi.rda") str(mufindi) ``` -### Explore `cleaned.sqlite` file +### cleaned-desktop `cleaned.sqlite` file This sqlite database object is found in the [qlands/cleaned-desktop github](https://github.com/qlands/cleaned-desktop/blob/feature/add-comparison/cleaned.sqlite) it contains several tables of look-up values. -#### Load input json file into R +#### Load sqlite file into R ```{r connect sqlite} conn <- dbConnect(RSQLite::SQLite(), "cleaned.sqlite") tables <- dbListTables(conn) @@ -390,3 +390,13 @@ kable(sq_tables$lkp_soil) ```{r sqlite tillage,echo=F} kable(sq_tables$lkp_tillageregime) ``` + +### cleaned-desktop `energy_parameters.json` file +The energy_parameters.json object is found in the [qlands/cleaned-desktop github](https://github.com/qlands/cleaned-desktop/blob/feature/add-comparison/R/energy_parameters.jsone) it contains a single table **Table 10.4** that does not seem to appear in the `cleaned/data/ghg_para.rda` object. + +#### Table 10.4 +```{r load energy parameters} +json_data2 <- fromJSON("energy_parameters.json") +names(json_data2) +kable(json_data2$`Table 10.4`) +``` diff --git a/data/explore_sql.R b/data/explore_sql.R deleted file mode 100644 index 1da0c54..0000000 --- a/data/explore_sql.R +++ /dev/null @@ -1,13 +0,0 @@ -db_file<-choose.files() - -install.packages("RSQLite") -library(RSQLite) - -conn <- dbConnect(RSQLite::SQLite(), db_file) - -tables <- dbListTables(conn) -print(tables) - -# Retrieve data from a table -data <- dbGetQuery(conn, "SELECT * FROM feeds_to_import") -print(data) From 4d0a837b85192a5ee2f6a2800cf2e736e3923d31 Mon Sep 17 00:00:00 2001 From: Steward Date: Thu, 11 Jul 2024 13:53:40 +0300 Subject: [PATCH 07/28] meta-data added --- data/input_mappings.R | 20 ++++++++++++++++++++ data/mappings/input_mappings_metadata.csv | 11 +++++++++++ 2 files changed, 31 insertions(+) create mode 100644 data/mappings/input_mappings_metadata.csv diff --git a/data/input_mappings.R b/data/input_mappings.R index 58147a1..2a2b116 100644 --- a/data/input_mappings.R +++ b/data/input_mappings.R @@ -96,3 +96,23 @@ field_connections[,focal_userselected:= logical(), # Is the field user-selected ][,connected_keyfield:= character()] # The key field in the connected table (focal_free==F & focal_userselected==F) # 4) Save results fwrite(field_connections,file.path(mappings_dir,"input_mappings.csv")) + +# Define the meta file for the field_connections table +field_connections_meta <- data.table( + field_name = c("focal_file", "focal_path", "focal_example_value", "focal_class", "focal_userselected", + "focal_free","connected_file", "connected_path", "focal_keyfield", "connected_keyfield"), + field_type = c("character", "character", "character", "character", "logical","logical", + "character", "character", "character", "character"), + description = c("The filename of the object containing the focal field", + "The path to the focal field within the focal object", + "Example value(s) from the focal field", + "The class of data in the focal field", + "Is the field user-selected in the UI (TRUE/FALSE)?", + "Is the field free-text (TRUE/FALSE)? (i.e. it is entered by the user and there is no lookup field)", + "The filename of the connected object (focal_free==F)", + "The path to the field in the connected object (focal_free==F)", + "The key field in the focal table (focal_free==F & focal_userselected==F)", + "The key field in the connected table (focal_free==F & focal_userselected==F)") +) + +fwrite(field_connections_meta,file.path(mappings_dir,"input_mappings_metadata.csv")) diff --git a/data/mappings/input_mappings_metadata.csv b/data/mappings/input_mappings_metadata.csv new file mode 100644 index 0000000..ec4fcb8 --- /dev/null +++ b/data/mappings/input_mappings_metadata.csv @@ -0,0 +1,11 @@ +field_name,field_type,description +focal_file,character,The filename of the object containing the focal field +focal_path,character,The path to the focal field within the focal object +focal_example_value,character,Example value(s) from the focal field +focal_class,character,The class of data in the focal field +focal_userselected,logical,Is the field user-selected in the UI (TRUE/FALSE)? +focal_free,logical,Is the field free-text (TRUE/FALSE)? (i.e. it is entered by the user and there is no lookup field) +connected_file,character,The filename of the connected object (focal_free==F) +connected_path,character,The path to the field in the connected object (focal_free==F) +focal_keyfield,character,The key field in the focal table (focal_free==F & focal_userselected==F) +connected_keyfield,character,The key field in the connected table (focal_free==F & focal_userselected==F) From 6aed4891a27b2b3ff7f68c1da7fadc2efcff6afb Mon Sep 17 00:00:00 2001 From: Steward Date: Tue, 16 Jul 2024 10:58:20 +0300 Subject: [PATCH 08/28] input mappings updated to include improved descriptions and a "type" field --- data/explore_qt_json.html | 12 +- data/explore_qt_json.rmd | 4 +- data/input_mappings.R | 39 ++- data/mappings/input_mappings.csv | 352 +++++++++++----------- data/mappings/input_mappings_metadata.csv | 22 +- 5 files changed, 230 insertions(+), 199 deletions(-) diff --git a/data/explore_qt_json.html b/data/explore_qt_json.html index bac0ef2..bd10de6 100644 --- a/data/explore_qt_json.html +++ b/data/explore_qt_json.html @@ -4190,8 +4190,8 @@

Feed basket

sub-levels appear to be the same length: feeds = 2, season_name = 2.

Seasons
-

The json_data$feed_basket$season object is simple, being -a vector containing the names of the seasons:

+

The json_data$feed_basket$season_name object is simple, +being a vector containing the names of the seasons:

@@ -4242,6 +4242,8 @@
Feed Basket
## .. ..$ :'data.frame': 3 obs. of 2 variables: ## .. .. ..$ allocation : int [1:3] 35 40 40 ## .. .. ..$ livetype_code: chr [1:3] "2" "1" "5" +
+
Feeds

Each feed basket table (e.g., json_data$feed_basket$feeds[[1]]) is constructed using key fields that describe feed items found in the @@ -4276,6 +4278,9 @@

Feed Basket
Feed basket/season data input table (json_data\(feed_basket\)season)
+
+
+
Livestock

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 @@ -4372,6 +4377,7 @@

Feed Basket
+

cleaned cleaned/data .rda files

rda_files<-list.files(".rda")
@@ -6052,7 +6058,7 @@
Cropland system
-
+
Feeds
Item
diff --git a/data/explore_qt_json.rmd b/data/explore_qt_json.rmd index 6e0b9ed..8bd9b5a 100644 --- a/data/explore_qt_json.rmd +++ b/data/explore_qt_json.rmd @@ -135,7 +135,7 @@ The `json_data$feed_basket` level of the input data contains a futher `r length( `r paste(names(json_data$feed_basket),collapse=" and ")`. These sub-levels appear to be the same length: `r paste0(names(json_data$feed_basket)," = ", sapply(json_data$feed_basket,length))`. ##### Seasons -The `json_data$feed_basket$season` object is simple, being a vector containing the names of the seasons: +The `json_data$feed_basket$season_name` object is simple, being a vector containing the names of the seasons: ```{r feed basket seasons,echo=F} kable(json_data$feed_basket$season_name,caption="Feed basket/season data input table (json_data$feed_basket$season)") ``` @@ -146,12 +146,14 @@ The `json_data$feed_basket$feed` object is the most structurally complex element str(json_data$feed_basket$feeds) ``` +###### Feeds 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`. ```{r feed basket feeds 0 ,echo=F} kable(json_data$feed_basket$feeds[[1]],caption="Feed basket/feed data input table tablejson_data$feed_basket$feeds[[1]]") ``` +###### Livestock The livestock field in the feed basket table contains a list with `r length(json_data$feed_basket$feeds[[1]]$livestock)` 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. ```{r feed basket feeds 2 ,echo=F} diff --git a/data/input_mappings.R b/data/input_mappings.R index 2a2b116..2b1c603 100644 --- a/data/input_mappings.R +++ b/data/input_mappings.R @@ -88,7 +88,8 @@ field_connections[[path]]<-data.table(focal_file = focal_name, # 3.7) Merge tables and add fields ##### field_connections<-rbindlist(field_connections) -field_connections[,focal_userselected:= logical(), # Is the field user-selected in the UI? +field_connections[,focal_type:=character() + ][,focal_userselected:= logical(), # Is the field user-selected in the UI? ][,focal_free:=logical(), # Is the field free-text? (i.e. it is entered by the user and there is no lookup field) ][,connected_file:= character(), # The filename of the connected object (focal_free==F) ][,connected_path:= character(), # The path to the field in the connected object (focal_free==F) @@ -98,21 +99,33 @@ field_connections[,focal_userselected:= logical(), # Is the field user-selected fwrite(field_connections,file.path(mappings_dir,"input_mappings.csv")) # Define the meta file for the field_connections table + field_connections_meta <- data.table( - field_name = c("focal_file", "focal_path", "focal_example_value", "focal_class", "focal_userselected", + field_name = c("focal_file", "focal_path", "focal_example_value", "focal_class", "focal_type","focal_userselected", "focal_free","connected_file", "connected_path", "focal_keyfield", "connected_keyfield"), - field_type = c("character", "character", "character", "character", "logical","logical", + field_type = c("character","character", "character", "character", "character", "logical","logical", "character", "character", "character", "character"), - description = c("The filename of the object containing the focal field", - "The path to the focal field within the focal object", - "Example value(s) from the focal field", - "The class of data in the focal field", - "Is the field user-selected in the UI (TRUE/FALSE)?", - "Is the field free-text (TRUE/FALSE)? (i.e. it is entered by the user and there is no lookup field)", - "The filename of the connected object (focal_free==F)", - "The path to the field in the connected object (focal_free==F)", - "The key field in the focal table (focal_free==F & focal_userselected==F)", - "The key field in the connected table (focal_free==F & focal_userselected==F)") + description = c( + "The filename of the object containing the focal field", + "The path to the focal field within the focal object", + "Example value(s) from the focal field", + "The class of data in the focal field", + "Enter one these values: + 1) standard_parameter - values that cannot be changed by users, for example parameters in IPCC tables. Sometimes referred to has hard_coded values by the team. + 2) user_parameter - descriptors of a study area - these filed might be prefilled, but can be changed by users (normally only needs to be done once for a new study area). + 3) user_input - user input, to be changed for each livestock enterprise type and scenario.", + "Is the field user selected or entered in the UI (TRUE/FALSE)? FALSE means that the field is auto-populated.", + "Is the field free-text (TRUE/FALSE)? (i.e. it is entered or selected by the user and there is no lookup field)", + "The filename of the connected object (use when focal_free field is FALSE)", + "The path to the field in the connected object (use when focal_free field is FALSE)", + "For a field that is autopopulated, what is the path of the key field in the **focal** object that is used to subset the connected table? + Use when focal_free field is FALSE AND focal_userselected is FALSE. + Example = the soil_k_value (focal_path) in the input_json comes from the sqlite Soil/k_value field (connected_path) and the user selected input_json soil_description field (e.g. Lixisol) is used to connect the sqlite Soil/k_value. + This means we enter the value soil_description in the focal_keyfield column and the value Soil/soil_desc in the connected_keyfield column.", + "For a field that is autopopulated, what is the path of the key field in the **connected** table that links to the focal object? + Use when focal_free field is FALSE AND focal_userselected is FALSE. + Example = the soil_k_value (focal_path) in the input_json comes from the sqlite Soil/k_value field (connected_path) and the user selected input_json soil_description field (e.g. Lixisol) is used to connect the sqlite Soil/k_value. + This means we enter the value soil_description in the focal_keyfield column and the value Soil/soil_desc in the connected_keyfield column") ) fwrite(field_connections_meta,file.path(mappings_dir,"input_mappings_metadata.csv")) diff --git a/data/mappings/input_mappings.csv b/data/mappings/input_mappings.csv index b3d6416..9c3560e 100644 --- a/data/mappings/input_mappings.csv +++ b/data/mappings/input_mappings.csv @@ -1,176 +1,176 @@ -focal_file,focal_path,focal_class,focal_example_value,focal_userselected,focal_free,connected_file,connected_path,focal_keyfield,connected_keyfield -input_json,annual_prec,integer,1500,,,,,, -input_json,arable_tograssland,integer,0,,,,,, -input_json,climate_zone,character,Temperate,,,,,, -input_json,climate_zone_2,character,Warm Temperate Dry,,,,,, -input_json,cropland_orgmatter,character,"Low, temperate/boreal, dry",,,,,, -input_json,cropland_orgmatter_ipcc,numeric,0.95,,,,,, -input_json,cropland_system,character,"Long term cultivated, temperate/boreal, dry",,,,,, -input_json,cropland_system_ipcc,numeric,0.8,,,,,, -input_json,cropland_tillage,character,Full,,,,,, -input_json,cropland_tillage_ipcc,integer,1,,,,,, -input_json,database_code,character,base,,,,,, -input_json,et,integer,1460,,,,,, -input_json,farm_code,character,001,,,,,, -input_json,farm_name,character,test 3,,,,,, -input_json,grassland_implevel,character,Medium,,,,,, -input_json,grassland_implevel_ipcc,integer,1,,,,,, -input_json,grassland_management,character,Nominally managed,,,,,, -input_json,grassland_management_ipcc,integer,1,,,,,, -input_json,grassland_toarable,integer,0,,,,,, -input_json,purchased_bedding,integer,0,,,,,, -input_json,purchased_compost,integer,0,,,,,, -input_json,purchased_manure,integer,0,,,,,, -input_json,purchased_organic_n,integer,0,,,,,, -input_json,rain_length,integer,5,,,,,, -input_json,region,character,AFRICA,,,,,, -input_json,soil_bulk,integer,6,,,,,, -input_json,soil_c,integer,12,,,,,, -input_json,soil_clay,integer,45,,,,,, -input_json,soil_depth,integer,2,,,,,, -input_json,soil_description,character,Lixisol,,,,,, -input_json,soil_k_value,numeric,0.25,,,,,, -input_json,soil_n,numeric,3.5,,,,,, -input_json,waste_consume_meat,integer,2,,,,,, -input_json,waste_consume_milk,integer,2,,,,,, -input_json,waste_distribution_meat,integer,3,,,,,, -input_json,waste_distribution_milk,integer,3,,,,,, -input_json,waste_processing_meat,integer,5,,,,,, -input_json,waste_processing_milk,integer,5,,,,,, -input_json,waste_production_meat,integer,3,,,,,, -input_json,waste_production_milk,integer,3,,,,,, -input_json,feed_items/ammonia,character,0,,,,,, -input_json,feed_items/ammonium_nitrate,character,0,,,,,, -input_json,feed_items/ammonium_sulfate,character,0,,,,,, -input_json,feed_items/average_dbh25,character,0,,,,,, -input_json,feed_items/average_dbh2550,character,0,,,,,, -input_json,feed_items/average_dbh50,character,0,,,,,, -input_json,feed_items/category,character,cereal|legume,,,,,, -input_json,feed_items/cp_content,character,13.60| 3.85|18.40,,,,,, -input_json,feed_items/cultivation_period,character,0,,,,,, -input_json,feed_items/cut_carry_fraction,character,0,,,,,, -input_json,feed_items/dap,character,0,,,,,, -input_json,feed_items/diameter_breast,character,0,,,,,, -input_json,feed_items/dm_content,character,89.00|91.88|90.00,,,,,, -input_json,feed_items/dry_yield,character,30|15| 8,,,,,, -input_json,feed_items/ecosystem_type,character,"",,,,,, -input_json,feed_items/energy,character, 0|360|336,,,,,, -input_json,feed_items/feed_item_code,character,65|99|18,,,,,, -input_json,feed_items/feed_item_name,character,Oats (Avena sativa) - grain IP|Rice (Oryza sativa) - straw|Cowpea (Vigna unguiculata) - crop residue,,,,,, -input_json,feed_items/feed_type_code,character,2|45|9,,,,,, -input_json,feed_items/feed_type_name,character,Avena sativa|Rice|Cowpea,,,,,, -input_json,feed_items/fraction_as_fertilizer,character,1|0,,,,,, -input_json,feed_items/fraction_as_manure,character,NA,,,,,, -input_json,feed_items/grassman,character,1,,,,,, -input_json,feed_items/grassman_change_factor,character,1,,,,,, -input_json,feed_items/grassman_desc,character,Nominally managed,,,,,, -input_json,feed_items/increase_dbh25,character,0,,,,,, -input_json,feed_items/increase_dbh2550,character,0,,,,,, -input_json,feed_items/increase_dbh50,character,0,,,,,, -input_json,feed_items/intercrop,character,0,,,,,, -input_json,feed_items/intercrop_fraction,character,0,,,,,, -input_json,feed_items/kc_initial,character,0.10|1.05|0.15,,,,,, -input_json,feed_items/kc_late,character,0.55|0.75|0.60,,,,,, -input_json,feed_items/kc_midseason,character,1.10|1.20|1.05,,,,,, -input_json,feed_items/land_cover,character,7|1,,,,,, -input_json,feed_items/land_cover_desc,character,Cereals|Dense forest,,,,,, -input_json,feed_items/landcover_c_factor,character,0.150|0.001,,,,,, -input_json,feed_items/main_n,character,0.0176|0.0090|0.0380,,,,,, -input_json,feed_items/main_product_removal,character,1|0,,,,,, -input_json,feed_items/me_content,character,12.267324| 5.640000| 9.880848,,,,,, -input_json,feed_items/n_content,character,0.2|0.0,,,,,, -input_json,feed_items/n_fertilizer,character,NA,,,,,, -input_json,feed_items/n_solutions,character, 50|300|100,,,,,, -input_json,feed_items/npk,character,0,,,,,, -input_json,feed_items/organic_amendment,character,"",,,,,, -input_json,feed_items/residue_burnt,character,0,,,,,, -input_json,feed_items/residue_dry_yield,character,0|6,,,,,, -input_json,feed_items/residue_n,character,0.0|0.2,,,,,, -input_json,feed_items/residue_removal,character,0.0|0.8,,,,,, -input_json,feed_items/slope,character,1,,,,,, -input_json,feed_items/slope_desc,character,Flat (0-5%),,,,,, -input_json,feed_items/slope_length,character,0,,,,,, -input_json,feed_items/slope_p_factor,character,0.11,,,,,, -input_json,feed_items/source_type,character,Main|Residue,,,,,, -input_json,feed_items/time_horizon,character,0,,,,,, -input_json,feed_items/trees_dhb,character,0,,,,,, -input_json,feed_items/trees_growth,character,0,,,,,, -input_json,feed_items/trees_ha,character,0,,,,,, -input_json,feed_items/trees_ha_dbh25,character,0,,,,,, -input_json,feed_items/trees_ha_dbh2550,character,0,,,,,, -input_json,feed_items/trees_ha_dbh50,character,0,,,,,, -input_json,feed_items/trees_removal,character,0,,,,,, -input_json,feed_items/urea,character,400|700|200,,,,,, -input_json,feed_items/usda_value,character, 0|20450|16062,,,,,, -input_json,feed_items/water_content,character, 0.00|12.89|11.95,,,,,, -input_json,feed_items/water_regime,character,"",,,,,, -input_json,livestock/adult_weight,character,800|400| 0,,,,,, -input_json,livestock/annual_growth,character, 0|90,,,,,, -input_json,livestock/annual_milk,character,3000|1500| 0,,,,,, -input_json,livestock/annual_wool,character,0,,,,,, -input_json,livestock/birth_interval,character,1.166667|1.500000|0.000000,,,,,, -input_json,livestock/body_weight,character,600|350|200,,,,,, -input_json,livestock/body_weight_weaning,character,0,,,,,, -input_json,livestock/body_weight_year_one,character,0,,,,,, -input_json,livestock/carcass_fraction,character,0.48|0.00,,,,,, -input_json,livestock/cp_grazing,character,0|3,,,,,, -input_json,livestock/cp_growth,character,0.0|0.4,,,,,, -input_json,livestock/cp_lactation,character,5|2|0,,,,,, -input_json,livestock/cp_lactmilk,character,0.09|0.00,,,,,, -input_json,livestock/cp_maintenance,character,0.60|0.35|0.20,,,,,, -input_json,livestock/cp_pregnancy,character,12.21| 9.64| 0.00,,,,,, -input_json,livestock/distance_to_pasture,character,0.0|0.5,,,,,, -input_json,livestock/energy_eggcontent,character,0,,,,,, -input_json,livestock/energy_meatcontent,character,2200,,,,,, -input_json,livestock/energy_milkcontent,character,970| 0,,,,,, -input_json,livestock/fat_content,character,4.3|5.8|0.0,,,,,, -input_json,livestock/grazing_displacement,character,0|2,,,,,, -input_json,livestock/herd_composition,character,2|5|0,,,,,, -input_json,livestock/ipcc_ef_category_t1,character,Dairy cattle|Other mature female|Other mature female-grazing,,,,,, -input_json,livestock/ipcc_ef_category_t2,character,Dairy cows|Non-dairy,,,,,, -input_json,livestock/ipcc_meth_man_category,character,Dairy cows|Other cattle,,,,,, -input_json,livestock/ipcc_n_exc_category,character,Dairy cattle|Other cattle,,,,,, -input_json,livestock/lactation_length,character,0,,,,,, -input_json,livestock/litter_size,character,0,,,,,, -input_json,livestock/livetype_code,character,2|1|5,,,,,, -input_json,livestock/livetype_desc,character,Cattle - Cows (improved)|Cattle - Cows (local)|Cattle - Steers/heifers,,,,,, -input_json,livestock/lw_gain,character,0,,,,,, -input_json,livestock/manure_in_field,character,0,,,,,, -input_json,livestock/manure_in_non_roofed_enclosure,character,0,,,,,, -input_json,livestock/manure_in_stable,character,1|0,,,,,, -input_json,livestock/manure_onfarm_fraction,character,1|0,,,,,, -input_json,livestock/manure_sales_fraction,character,0,,,,,, -input_json,livestock/manureman_non_roofed_enclosure,character,Solid storage,,,,,, -input_json,livestock/manureman_offfarm_grazing,character,Solid storage,,,,,, -input_json,livestock/manureman_onfarm_grazing,character,Solid storage|Pasture / range / paddock,,,,,, -input_json,livestock/manureman_stable,character,Solid storage,,,,,, -input_json,livestock/me_grazing,character,2.0|1.5,,,,,, -input_json,livestock/me_growth,character, 0|50,,,,,, -input_json,livestock/me_lactation,character,5|2|0,,,,,, -input_json,livestock/me_lactmilk,character,5.5|0.0,,,,,, -input_json,livestock/me_maintenance,character,60.61547|40.45955|26.59148,,,,,, -input_json,livestock/me_pregnancy,character,1500|1260| 0,,,,,, -input_json,livestock/meat_product,character,beef,,,,,, -input_json,livestock/milk_product,character,cow milk,,,,,, -input_json,livestock/n_content,character,0.029,,,,,, -input_json,livestock/piglets_relying_on_milk,character,0,,,,,, -input_json,livestock/proportion_growth,character,0,,,,,, -input_json,livestock/protein_meatcontent,character,26,,,,,, -input_json,livestock/protein_milkcontent,character,3.7|3.2|0.0,,,,,, -input_json,livestock/time_in_non_roofed_enclosure,character,0,,,,,, -input_json,livestock/time_in_offfarm_grazing,character,0,,,,,, -input_json,livestock/time_in_onfarm_grazing,character,0|1,,,,,, -input_json,livestock/time_in_stable,character,1|0,,,,,, -input_json,livestock/water_requirement,character,140|120| 80,,,,,, -input_json,livestock/work_hour,character,0,,,,,, -input_json,seasons/season_length,character,200|165,,,,,, -input_json,seasons/season_name,character,Wet season|Dry season,,,,,, -input_json,feed_basket/season_name,character,Wet season|Dry season,,,,,, -input_json,feed_basket/feeds/feed_item_code,character,65|99|18,,,,,, -input_json,feed_basket/feeds/feed_type_code,character,2|45|9,,,,,, -input_json,feed_basket/feeds/livestock/allocation,character,40|17|25|43|20|35,,,,,, -input_json,feed_basket/feeds/livestock/livetype_code,character,2|1|5,,,,,, -input_json,fertilizer/fertilizer_code,character,4|6,,,,,, -input_json,fertilizer/fertilizer_desc,character,Ammonium nitrate|N solutions,,,,,, -input_json,fertilizer/fraction,character,0,,,,,, -input_json,fertilizer/percentage_n,character,12|10,,,,,, +focal_file,focal_path,focal_class,focal_example_value,focal_type,focal_userselected,focal_free,connected_file,connected_path,focal_keyfield,connected_keyfield +input_json,annual_prec,integer,1500,,,,,,, +input_json,arable_tograssland,integer,0,,,,,,, +input_json,climate_zone,character,Temperate,,,,,,, +input_json,climate_zone_2,character,Warm Temperate Dry,,,,,,, +input_json,cropland_orgmatter,character,"Low, temperate/boreal, dry",,,,,,, +input_json,cropland_orgmatter_ipcc,numeric,0.95,,,,,,, +input_json,cropland_system,character,"Long term cultivated, temperate/boreal, dry",,,,,,, +input_json,cropland_system_ipcc,numeric,0.8,,,,,,, +input_json,cropland_tillage,character,Full,,,,,,, +input_json,cropland_tillage_ipcc,integer,1,,,,,,, +input_json,database_code,character,base,,,,,,, +input_json,et,integer,1460,,,,,,, +input_json,farm_code,character,001,,,,,,, +input_json,farm_name,character,test 3,,,,,,, +input_json,grassland_implevel,character,Medium,,,,,,, +input_json,grassland_implevel_ipcc,integer,1,,,,,,, +input_json,grassland_management,character,Nominally managed,,,,,,, +input_json,grassland_management_ipcc,integer,1,,,,,,, +input_json,grassland_toarable,integer,0,,,,,,, +input_json,purchased_bedding,integer,0,,,,,,, +input_json,purchased_compost,integer,0,,,,,,, +input_json,purchased_manure,integer,0,,,,,,, +input_json,purchased_organic_n,integer,0,,,,,,, +input_json,rain_length,integer,5,,,,,,, +input_json,region,character,AFRICA,,,,,,, +input_json,soil_bulk,integer,6,,,,,,, +input_json,soil_c,integer,12,,,,,,, +input_json,soil_clay,integer,45,,,,,,, +input_json,soil_depth,integer,2,,,,,,, +input_json,soil_description,character,Lixisol,,,,,,, +input_json,soil_k_value,numeric,0.25,,,,,,, +input_json,soil_n,numeric,3.5,,,,,,, +input_json,waste_consume_meat,integer,2,,,,,,, +input_json,waste_consume_milk,integer,2,,,,,,, +input_json,waste_distribution_meat,integer,3,,,,,,, +input_json,waste_distribution_milk,integer,3,,,,,,, +input_json,waste_processing_meat,integer,5,,,,,,, +input_json,waste_processing_milk,integer,5,,,,,,, +input_json,waste_production_meat,integer,3,,,,,,, +input_json,waste_production_milk,integer,3,,,,,,, +input_json,feed_items/ammonia,character,0,,,,,,, +input_json,feed_items/ammonium_nitrate,character,0,,,,,,, +input_json,feed_items/ammonium_sulfate,character,0,,,,,,, +input_json,feed_items/average_dbh25,character,0,,,,,,, +input_json,feed_items/average_dbh2550,character,0,,,,,,, +input_json,feed_items/average_dbh50,character,0,,,,,,, +input_json,feed_items/category,character,cereal|legume,,,,,,, +input_json,feed_items/cp_content,character,13.60| 3.85|18.40,,,,,,, +input_json,feed_items/cultivation_period,character,0,,,,,,, +input_json,feed_items/cut_carry_fraction,character,0,,,,,,, +input_json,feed_items/dap,character,0,,,,,,, +input_json,feed_items/diameter_breast,character,0,,,,,,, +input_json,feed_items/dm_content,character,89.00|91.88|90.00,,,,,,, +input_json,feed_items/dry_yield,character,30|15| 8,,,,,,, +input_json,feed_items/ecosystem_type,character,"",,,,,,, +input_json,feed_items/energy,character, 0|360|336,,,,,,, +input_json,feed_items/feed_item_code,character,65|99|18,,,,,,, +input_json,feed_items/feed_item_name,character,Oats (Avena sativa) - grain IP|Rice (Oryza sativa) - straw|Cowpea (Vigna unguiculata) - crop residue,,,,,,, +input_json,feed_items/feed_type_code,character,2|45|9,,,,,,, +input_json,feed_items/feed_type_name,character,Avena sativa|Rice|Cowpea,,,,,,, +input_json,feed_items/fraction_as_fertilizer,character,1|0,,,,,,, +input_json,feed_items/fraction_as_manure,character,NA,,,,,,, +input_json,feed_items/grassman,character,1,,,,,,, +input_json,feed_items/grassman_change_factor,character,1,,,,,,, +input_json,feed_items/grassman_desc,character,Nominally managed,,,,,,, +input_json,feed_items/increase_dbh25,character,0,,,,,,, +input_json,feed_items/increase_dbh2550,character,0,,,,,,, +input_json,feed_items/increase_dbh50,character,0,,,,,,, +input_json,feed_items/intercrop,character,0,,,,,,, +input_json,feed_items/intercrop_fraction,character,0,,,,,,, +input_json,feed_items/kc_initial,character,0.10|1.05|0.15,,,,,,, +input_json,feed_items/kc_late,character,0.55|0.75|0.60,,,,,,, +input_json,feed_items/kc_midseason,character,1.10|1.20|1.05,,,,,,, +input_json,feed_items/land_cover,character,7|1,,,,,,, +input_json,feed_items/land_cover_desc,character,Cereals|Dense forest,,,,,,, +input_json,feed_items/landcover_c_factor,character,0.150|0.001,,,,,,, +input_json,feed_items/main_n,character,0.0176|0.0090|0.0380,,,,,,, +input_json,feed_items/main_product_removal,character,1|0,,,,,,, +input_json,feed_items/me_content,character,12.267324| 5.640000| 9.880848,,,,,,, +input_json,feed_items/n_content,character,0.2|0.0,,,,,,, +input_json,feed_items/n_fertilizer,character,NA,,,,,,, +input_json,feed_items/n_solutions,character, 50|300|100,,,,,,, +input_json,feed_items/npk,character,0,,,,,,, +input_json,feed_items/organic_amendment,character,"",,,,,,, +input_json,feed_items/residue_burnt,character,0,,,,,,, +input_json,feed_items/residue_dry_yield,character,0|6,,,,,,, +input_json,feed_items/residue_n,character,0.0|0.2,,,,,,, +input_json,feed_items/residue_removal,character,0.0|0.8,,,,,,, +input_json,feed_items/slope,character,1,,,,,,, +input_json,feed_items/slope_desc,character,Flat (0-5%),,,,,,, +input_json,feed_items/slope_length,character,0,,,,,,, +input_json,feed_items/slope_p_factor,character,0.11,,,,,,, +input_json,feed_items/source_type,character,Main|Residue,,,,,,, +input_json,feed_items/time_horizon,character,0,,,,,,, +input_json,feed_items/trees_dhb,character,0,,,,,,, +input_json,feed_items/trees_growth,character,0,,,,,,, +input_json,feed_items/trees_ha,character,0,,,,,,, +input_json,feed_items/trees_ha_dbh25,character,0,,,,,,, +input_json,feed_items/trees_ha_dbh2550,character,0,,,,,,, +input_json,feed_items/trees_ha_dbh50,character,0,,,,,,, +input_json,feed_items/trees_removal,character,0,,,,,,, +input_json,feed_items/urea,character,400|700|200,,,,,,, +input_json,feed_items/usda_value,character, 0|20450|16062,,,,,,, +input_json,feed_items/water_content,character, 0.00|12.89|11.95,,,,,,, +input_json,feed_items/water_regime,character,"",,,,,,, +input_json,livestock/adult_weight,character,800|400| 0,,,,,,, +input_json,livestock/annual_growth,character, 0|90,,,,,,, +input_json,livestock/annual_milk,character,3000|1500| 0,,,,,,, +input_json,livestock/annual_wool,character,0,,,,,,, +input_json,livestock/birth_interval,character,1.166667|1.500000|0.000000,,,,,,, +input_json,livestock/body_weight,character,600|350|200,,,,,,, +input_json,livestock/body_weight_weaning,character,0,,,,,,, +input_json,livestock/body_weight_year_one,character,0,,,,,,, +input_json,livestock/carcass_fraction,character,0.48|0.00,,,,,,, +input_json,livestock/cp_grazing,character,0|3,,,,,,, +input_json,livestock/cp_growth,character,0.0|0.4,,,,,,, +input_json,livestock/cp_lactation,character,5|2|0,,,,,,, +input_json,livestock/cp_lactmilk,character,0.09|0.00,,,,,,, +input_json,livestock/cp_maintenance,character,0.60|0.35|0.20,,,,,,, +input_json,livestock/cp_pregnancy,character,12.21| 9.64| 0.00,,,,,,, +input_json,livestock/distance_to_pasture,character,0.0|0.5,,,,,,, +input_json,livestock/energy_eggcontent,character,0,,,,,,, +input_json,livestock/energy_meatcontent,character,2200,,,,,,, +input_json,livestock/energy_milkcontent,character,970| 0,,,,,,, +input_json,livestock/fat_content,character,4.3|5.8|0.0,,,,,,, +input_json,livestock/grazing_displacement,character,0|2,,,,,,, +input_json,livestock/herd_composition,character,2|5|0,,,,,,, +input_json,livestock/ipcc_ef_category_t1,character,Dairy cattle|Other mature female|Other mature female-grazing,,,,,,, +input_json,livestock/ipcc_ef_category_t2,character,Dairy cows|Non-dairy,,,,,,, +input_json,livestock/ipcc_meth_man_category,character,Dairy cows|Other cattle,,,,,,, +input_json,livestock/ipcc_n_exc_category,character,Dairy cattle|Other cattle,,,,,,, +input_json,livestock/lactation_length,character,0,,,,,,, +input_json,livestock/litter_size,character,0,,,,,,, +input_json,livestock/livetype_code,character,2|1|5,,,,,,, +input_json,livestock/livetype_desc,character,Cattle - Cows (improved)|Cattle - Cows (local)|Cattle - Steers/heifers,,,,,,, +input_json,livestock/lw_gain,character,0,,,,,,, +input_json,livestock/manure_in_field,character,0,,,,,,, +input_json,livestock/manure_in_non_roofed_enclosure,character,0,,,,,,, +input_json,livestock/manure_in_stable,character,1|0,,,,,,, +input_json,livestock/manure_onfarm_fraction,character,1|0,,,,,,, +input_json,livestock/manure_sales_fraction,character,0,,,,,,, +input_json,livestock/manureman_non_roofed_enclosure,character,Solid storage,,,,,,, +input_json,livestock/manureman_offfarm_grazing,character,Solid storage,,,,,,, +input_json,livestock/manureman_onfarm_grazing,character,Solid storage|Pasture / range / paddock,,,,,,, +input_json,livestock/manureman_stable,character,Solid storage,,,,,,, +input_json,livestock/me_grazing,character,2.0|1.5,,,,,,, +input_json,livestock/me_growth,character, 0|50,,,,,,, +input_json,livestock/me_lactation,character,5|2|0,,,,,,, +input_json,livestock/me_lactmilk,character,5.5|0.0,,,,,,, +input_json,livestock/me_maintenance,character,60.61547|40.45955|26.59148,,,,,,, +input_json,livestock/me_pregnancy,character,1500|1260| 0,,,,,,, +input_json,livestock/meat_product,character,beef,,,,,,, +input_json,livestock/milk_product,character,cow milk,,,,,,, +input_json,livestock/n_content,character,0.029,,,,,,, +input_json,livestock/piglets_relying_on_milk,character,0,,,,,,, +input_json,livestock/proportion_growth,character,0,,,,,,, +input_json,livestock/protein_meatcontent,character,26,,,,,,, +input_json,livestock/protein_milkcontent,character,3.7|3.2|0.0,,,,,,, +input_json,livestock/time_in_non_roofed_enclosure,character,0,,,,,,, +input_json,livestock/time_in_offfarm_grazing,character,0,,,,,,, +input_json,livestock/time_in_onfarm_grazing,character,0|1,,,,,,, +input_json,livestock/time_in_stable,character,1|0,,,,,,, +input_json,livestock/water_requirement,character,140|120| 80,,,,,,, +input_json,livestock/work_hour,character,0,,,,,,, +input_json,seasons/season_length,character,200|165,,,,,,, +input_json,seasons/season_name,character,Wet season|Dry season,,,,,,, +input_json,feed_basket/season_name,character,Wet season|Dry season,,,,,,, +input_json,feed_basket/feeds/feed_item_code,character,65|99|18,,,,,,, +input_json,feed_basket/feeds/feed_type_code,character,2|45|9,,,,,,, +input_json,feed_basket/feeds/livestock/allocation,character,40|17|25|43|20|35,,,,,,, +input_json,feed_basket/feeds/livestock/livetype_code,character,2|1|5,,,,,,, +input_json,fertilizer/fertilizer_code,character,4|6,,,,,,, +input_json,fertilizer/fertilizer_desc,character,Ammonium nitrate|N solutions,,,,,,, +input_json,fertilizer/fraction,character,0,,,,,,, +input_json,fertilizer/percentage_n,character,12|10,,,,,,, diff --git a/data/mappings/input_mappings_metadata.csv b/data/mappings/input_mappings_metadata.csv index ec4fcb8..34333a4 100644 --- a/data/mappings/input_mappings_metadata.csv +++ b/data/mappings/input_mappings_metadata.csv @@ -3,9 +3,19 @@ focal_file,character,The filename of the object containing the focal field focal_path,character,The path to the focal field within the focal object focal_example_value,character,Example value(s) from the focal field focal_class,character,The class of data in the focal field -focal_userselected,logical,Is the field user-selected in the UI (TRUE/FALSE)? -focal_free,logical,Is the field free-text (TRUE/FALSE)? (i.e. it is entered by the user and there is no lookup field) -connected_file,character,The filename of the connected object (focal_free==F) -connected_path,character,The path to the field in the connected object (focal_free==F) -focal_keyfield,character,The key field in the focal table (focal_free==F & focal_userselected==F) -connected_keyfield,character,The key field in the connected table (focal_free==F & focal_userselected==F) +focal_type,character,"Enter one these values: + 1) standard_parameter - values that cannot be changed by users, for example parameters in IPCC tables. Sometimes referred to has hard_coded values by the team. + 2) user_parameter - descriptors of a study area - these filed might be prefilled, but can be changed by users (normally only needs to be done once for a new study area). + 3) user_input - user input, to be changed for each livestock enterprise type and scenario." +focal_userselected,logical,Is the field user selected or entered in the UI (TRUE/FALSE)? FALSE means that the field is auto-populated. +focal_free,logical,Is the field free-text (TRUE/FALSE)? (i.e. it is entered or selected by the user and there is no lookup field) +connected_file,character,The filename of the connected object (use when focal_free field is FALSE) +connected_path,character,The path to the field in the connected object (use when focal_free field is FALSE) +focal_keyfield,character,"For a field that is autopopulated, what is the path of the key field in the **focal** object that is used to subset the connected table? + Use when focal_free field is FALSE AND focal_userselected is FALSE. + Example = the soil_k_value (focal_path) in the input_json comes from the sqlite Soil/k_value field (connected_path), the user selected input_json soil_description field (e.g. Lixisol) is used to connect the sqlite Soil/k_value. + This means we enter the value soil_description in the focal_keyfield column and the value Soil/soil_desc in the connected_keyfield column." +connected_keyfield,character,"For a field that is autopopulated, what is the path of the key field in the **connected** table that links to the focal object? + Use when focal_free field is FALSE AND focal_userselected is FALSE. + Example = the soil_k_value (focal_path) in the input_json comes from the sqlite Soil/k_value field (connected_path), the user selected input_json soil_description field (e.g. Lixisol) is used to connect the sqlite Soil/k_value. + This means we enter the value soil_description in the focal_keyfield column and the value Soil/soil_desc in the connected_keyfield column" From 791dec63596fe5e8b58bf6491e20042aa0855fd6 Mon Sep 17 00:00:00 2001 From: Pete Steward Date: Wed, 18 Sep 2024 15:21:30 +0300 Subject: [PATCH 09/28] Update ghg_emission.R Edited ge_intake in on line 100 to be (ge_intake/365), we think there is a bug and this should be daily not annual ge_intake --- R/ghg_emission.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/ghg_emission.R b/R/ghg_emission.R index 55bccea..1d829ef 100644 --- a/R/ghg_emission.R +++ b/R/ghg_emission.R @@ -97,7 +97,7 @@ ghg_emission <- function(para, energy_required, ghg_ipcc_data, land_required, ni #Computing methane enteric emission factor ef <- ym1%>% - mutate(enteric_methane_emissions = (ge_intake*(ym/100)*no_days)/55.65) #equation 10.21 + mutate(enteric_methane_emissions = ((ge_intake/no_days)*(ym/100)*no_days)/55.65) #equation 10.21 ############################################################################################################################ #Computing methane emission from manure management T2 From 27585a75c4408e810d7351dad004fd7e88d17d65 Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Wed, 9 Oct 2024 17:16:36 +0200 Subject: [PATCH 10/28] adapt the output functions to the iCLEANED shiny app Return tabular data instead of saving graphs PNGs --- R/compare_scenario.R | 591 +++++++++++++++++++++++++------------------ R/merge_outputs.R | 177 ++++++------- R/plotting.R | 170 ++++++++----- 3 files changed, 524 insertions(+), 414 deletions(-) diff --git a/R/compare_scenario.R b/R/compare_scenario.R index 8bad979..82f0943 100644 --- a/R/compare_scenario.R +++ b/R/compare_scenario.R @@ -33,359 +33,448 @@ #' #' @export #' -compare_scenario <- function(baseRun, outFile, oDir2){ - +compare_scenario <- function (baseRun, outFile, oDir2) +{ base_run <- baseRun - outFile <- jsonlite::fromJSON(outFile, flatten = TRUE) - oDir2 <- oDir2 - - base_run_df <- outFile[outFile$scenario == base_run,] - scenarios_df <- outFile[outFile$scenario != base_run,] - + base_run_df <- outFile[outFile$scenario == base_run, ] + scenarios_df <- outFile[outFile$scenario != base_run, ] scenarioList <- list() + output_list <- list() + for (i in 1:nrow(scenarios_df)) { - # Scenario - scenario_df <- scenarios_df[i,] + scenario_df <- scenarios_df[i, ] scenario <- scenario_df$scenario - - total_milk_produced_kg_fpcm_per_year <- ifelse(!is.finite(((scenario_df$total_milk_produced_kg_fpcm_per_year - base_run_df$total_milk_produced_kg_fpcm_per_year)/base_run_df$total_milk_produced_kg_fpcm_per_year)*100),0, - ((scenario_df$total_milk_produced_kg_fpcm_per_year - base_run_df$total_milk_produced_kg_fpcm_per_year)/base_run_df$total_milk_produced_kg_fpcm_per_year)*100) - - total_meat_produced_kg_per_year <- ifelse(!is.finite(((scenario_df$total_meat_produced_kg_per_year - base_run_df$total_meat_produced_kg_per_year)/base_run_df$total_meat_produced_kg_per_year)*100),0, - ((scenario_df$total_meat_produced_kg_per_year - base_run_df$total_meat_produced_kg_per_year)/base_run_df$total_meat_produced_kg_per_year)*100) - - total_protein_produced_kg_per_year <- ifelse(!is.finite(((scenario_df$total_protein_produced_kg_per_year - base_run_df$total_protein_produced_kg_per_year)/base_run_df$total_protein_produced_kg_per_year)*100),0, - ((scenario_df$total_protein_produced_kg_per_year - base_run_df$total_protein_produced_kg_per_year)/base_run_df$total_protein_produced_kg_per_year)*100) - - total_tlu <- ifelse(!is.finite(((scenario_df$total_tlu - base_run_df$total_tlu)/base_run_df$total_tlu)*100),0, - ((scenario_df$total_tlu - base_run_df$total_tlu)/base_run_df$total_tlu)*100) - - total_land_requirement_ha <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha - base_run_df$total_land_requirement_ha)/base_run_df$total_land_requirement_ha)*100),0, - ((scenario_df$total_land_requirement_ha - base_run_df$total_land_requirement_ha)/base_run_df$total_land_requirement_ha)*100) - - total_land_requirement_ha_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_kg_fpcm - base_run_df$total_land_requirement_ha_per_kg_fpcm)/base_run_df$total_land_requirement_ha_per_kg_fpcm)*100),0, - ((scenario_df$total_land_requirement_ha_per_kg_fpcm - base_run_df$total_land_requirement_ha_per_kg_fpcm)/base_run_df$total_land_requirement_ha_per_kg_fpcm)*100) - - total_land_requirement_ha_per_kg_meat <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_kg_meat - base_run_df$total_land_requirement_ha_per_kg_meat)/base_run_df$total_land_requirement_ha_per_kg_meat)*100),0, - ((scenario_df$total_land_requirement_ha_per_kg_meat - base_run_df$total_land_requirement_ha_per_kg_meat)/base_run_df$total_land_requirement_ha_per_kg_meat)*100) - - total_land_requirement_ha_per_kg_protein <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_kg_protein - base_run_df$total_land_requirement_ha_per_kg_protein)/base_run_df$total_land_requirement_ha_per_kg_protein)*100),0, - ((scenario_df$total_land_requirement_ha_per_kg_protein - base_run_df$total_land_requirement_ha_per_kg_protein)/base_run_df$total_land_requirement_ha_per_kg_protein)*100) - - total_land_requirement_ha_per_tlu <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_tlu - base_run_df$total_land_requirement_ha_per_tlu)/base_run_df$total_land_requirement_ha_per_tlu)*100),0, - ((scenario_df$total_land_requirement_ha_per_tlu - base_run_df$total_land_requirement_ha_per_tlu)/base_run_df$total_land_requirement_ha_per_tlu)*100) - - total_n_balance_kg_n_per_year <- ifelse(!is.finite(((scenario_df$total_n_balance_kg_n_per_year - base_run_df$total_n_balance_kg_n_per_year)/base_run_df$total_n_balance_kg_n_per_year)*100),0, - ((scenario_df$total_n_balance_kg_n_per_year - base_run_df$total_n_balance_kg_n_per_year)/base_run_df$total_n_balance_kg_n_per_year)*100) - - percent_area_mining <- ifelse(!is.finite(((scenario_df$percent_area_mining - base_run_df$percent_area_mining)/base_run_df$percent_area_mining)*100),0, - ((scenario_df$percent_area_mining - base_run_df$percent_area_mining)/base_run_df$percent_area_mining)*100) - - percent_area_leaching <- ifelse(!is.finite(((scenario_df$percent_area_leaching - base_run_df$percent_area_leaching)/base_run_df$percent_area_leaching)*100),0, - ((scenario_df$percent_area_leaching - base_run_df$percent_area_leaching)/base_run_df$percent_area_leaching)*100) - - n_balance_kg_n_per_ha_per_year <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_ha_per_year - base_run_df$n_balance_kg_n_per_ha_per_year)/base_run_df$n_balance_kg_n_per_ha_per_year)*100),0, - ((scenario_df$n_balance_kg_n_per_ha_per_year - base_run_df$n_balance_kg_n_per_ha_per_year)/base_run_df$n_balance_kg_n_per_ha_per_year)*100) - - n_balance_kg_n_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_kg_fpcm - base_run_df$n_balance_kg_n_per_kg_fpcm)/base_run_df$n_balance_kg_n_per_kg_fpcm)*100),0, - ((scenario_df$n_balance_kg_n_per_kg_fpcm - base_run_df$n_balance_kg_n_per_kg_fpcm)/base_run_df$n_balance_kg_n_per_kg_fpcm)*100) - - n_balance_kg_n_per_kg_meat <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_kg_meat - base_run_df$n_balance_kg_n_per_kg_meat)/base_run_df$n_balance_kg_n_per_kg_meat)*100),0, - ((scenario_df$n_balance_kg_n_per_kg_meat - base_run_df$n_balance_kg_n_per_kg_meat)/base_run_df$n_balance_kg_n_per_kg_meat)*100) - - n_balance_kg_n_per_kg_protein <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_kg_protein - base_run_df$n_balance_kg_n_per_kg_protein)/base_run_df$n_balance_kg_n_per_kg_protein)*100),0, - ((scenario_df$n_balance_kg_n_per_kg_protein - base_run_df$n_balance_kg_n_per_kg_protein)/base_run_df$n_balance_kg_n_per_kg_protein)*100) - - erosion_t_soil_year <- ifelse(!is.finite(((scenario_df$erosion_t_soil_year - base_run_df$erosion_t_soil_year)/base_run_df$erosion_t_soil_year)*100),0, - ((scenario_df$erosion_t_soil_year - base_run_df$erosion_t_soil_year)/base_run_df$erosion_t_soil_year)*100) - - erosion_t_soil_per_ha_per_year <- ifelse(!is.finite(((scenario_df$erosion_t_soil_per_ha_per_year - base_run_df$erosion_t_soil_per_ha_per_year)/base_run_df$erosion_t_soil_per_ha_per_year)*100),0, - ((scenario_df$erosion_t_soil_per_ha_per_year - base_run_df$erosion_t_soil_per_ha_per_year)/base_run_df$erosion_t_soil_per_ha_per_year)*100) - - erosion_kgsoil_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$erosion_kgsoil_per_kg_fpcm - base_run_df$erosion_kgsoil_per_kg_fpcm)/base_run_df$erosion_kgsoil_per_kg_fpcm)*100),0, - ((scenario_df$erosion_kgsoil_per_kg_fpcm - base_run_df$erosion_kgsoil_per_kg_fpcm)/base_run_df$erosion_kgsoil_per_kg_fpcm)*100) - - erosion_kgsoil_per_kg_meat <- ifelse(!is.finite(((scenario_df$erosion_kgsoil_per_kg_meat - base_run_df$erosion_kgsoil_per_kg_meat)/base_run_df$erosion_kgsoil_per_kg_meat)*100),0, - ((scenario_df$erosion_kgsoil_per_kg_meat - base_run_df$erosion_kgsoil_per_kg_meat)/base_run_df$erosion_kgsoil_per_kg_meat)*100) - - erosion_kgsoil_per_kg_protein <- ifelse(!is.finite(((scenario_df$erosion_kgsoil_per_kg_protein - base_run_df$erosion_kgsoil_per_kg_protein)/base_run_df$erosion_kgsoil_per_kg_protein)*100),0, - ((scenario_df$erosion_kgsoil_per_kg_protein - base_run_df$erosion_kgsoil_per_kg_protein)/base_run_df$erosion_kgsoil_per_kg_protein)*100) - - ghg_emission_t_co2_eq_per_year <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_year - base_run_df$ghg_emission_t_co2_eq_per_year)/base_run_df$ghg_emission_t_co2_eq_per_year)*100),0, - ((scenario_df$ghg_emission_t_co2_eq_per_year - base_run_df$ghg_emission_t_co2_eq_per_year)/base_run_df$ghg_emission_t_co2_eq_per_year)*100) - - ghg_emission_t_co2_eq_per_ha_per_year <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_ha_per_year - base_run_df$ghg_emission_t_co2_eq_per_ha_per_year)/base_run_df$ghg_emission_t_co2_eq_per_ha_per_year)*100),0, - ((scenario_df$ghg_emission_t_co2_eq_per_ha_per_year - base_run_df$ghg_emission_t_co2_eq_per_ha_per_year)/base_run_df$ghg_emission_t_co2_eq_per_ha_per_year)*100) - - ghg_emission_t_co2_eq_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_kg_fpcm - base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm)/base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm)*100),0, - ((scenario_df$ghg_emission_t_co2_eq_per_kg_fpcm - base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm)/base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm)*100) - - ghg_emission_t_co2_eq_per_kg_meat <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_kg_meat - base_run_df$ghg_emission_t_co2_eq_per_kg_meat)/base_run_df$ghg_emission_t_co2_eq_per_kg_meat)*100),0, - ((scenario_df$ghg_emission_t_co2_eq_per_kg_meat - base_run_df$ghg_emission_t_co2_eq_per_kg_meat)/base_run_df$ghg_emission_t_co2_eq_per_kg_meat)*100) - - ghg_emission_t_co2_eq_per_kg_protein <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_kg_protein - base_run_df$ghg_emission_t_co2_eq_per_kg_protein)/base_run_df$ghg_emission_t_co2_eq_per_kg_protein)*100),0, - ((scenario_df$ghg_emission_t_co2_eq_per_kg_protein - base_run_df$ghg_emission_t_co2_eq_per_kg_protein)/base_run_df$ghg_emission_t_co2_eq_per_kg_protein)*100) - - percent_precipitation_used_for_feed_production <- ifelse(!is.finite(((scenario_df$percent_precipitation_used_for_feed_production - base_run_df$percent_precipitation_used_for_feed_production)/base_run_df$percent_precipitation_used_for_feed_production)*100),0, - ((scenario_df$percent_precipitation_used_for_feed_production - base_run_df$percent_precipitation_used_for_feed_production)/base_run_df$percent_precipitation_used_for_feed_production)*100) - - total_water_use_m3 <- ifelse(!is.finite(((scenario_df$total_water_use_m3 - base_run_df$total_water_use_m3)/base_run_df$total_water_use_m3)*100),0, - ((scenario_df$total_water_use_m3 - base_run_df$total_water_use_m3)/base_run_df$total_water_use_m3)*100) - - total_water_use_m3_per_ha <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_ha - base_run_df$total_water_use_m3_per_ha)/base_run_df$total_water_use_m3_per_ha)*100),0, - ((scenario_df$total_water_use_m3_per_ha - base_run_df$total_water_use_m3_per_ha)/base_run_df$total_water_use_m3_per_ha)*100) - - total_water_use_m3_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_kg_fpcm - base_run_df$total_water_use_m3_per_kg_fpcm)/base_run_df$total_water_use_m3_per_kg_fpcm)*100),0, - ((scenario_df$total_water_use_m3_per_kg_fpcm - base_run_df$total_water_use_m3_per_kg_fpcm)/base_run_df$total_water_use_m3_per_kg_fpcm)*100) - - total_water_use_m3_per_kg_meat <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_kg_meat - base_run_df$total_water_use_m3_per_kg_meat)/base_run_df$total_water_use_m3_per_kg_meat)*100),0, - ((scenario_df$total_water_use_m3_per_kg_meat - base_run_df$total_water_use_m3_per_kg_meat)/base_run_df$total_water_use_m3_per_kg_meat)*100) - - total_water_use_m3_per_kg_protein <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_kg_protein - base_run_df$total_water_use_m3_per_kg_protein)/base_run_df$total_water_use_m3_per_kg_protein)*100),0, - ((scenario_df$total_water_use_m3_per_kg_protein - base_run_df$total_water_use_m3_per_kg_protein)/base_run_df$total_water_use_m3_per_kg_protein)*100) - - carbon_stock_change_t_co2eq_per_year <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_year - base_run_df$carbon_stock_change_t_co2eq_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_year)*100),0, - ((scenario_df$carbon_stock_change_t_co2eq_per_year - base_run_df$carbon_stock_change_t_co2eq_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_year)*100) - - carbon_stock_change_t_co2eq_per_ha_per_year <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_ha_per_year - base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year)*100),0, - ((scenario_df$carbon_stock_change_t_co2eq_per_ha_per_year - base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year)*100) - - carbon_stock_change_t_co2eq_per_fpcm <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_fpcm - base_run_df$carbon_stock_change_t_co2eq_per_fpcm)/base_run_df$carbon_stock_change_t_co2eq_per_fpcm)*100),0, - ((scenario_df$carbon_stock_change_t_co2eq_per_fpcm - base_run_df$carbon_stock_change_t_co2eq_per_fpcm)/base_run_df$carbon_stock_change_t_co2eq_per_fpcm)*100) - - carbon_stock_change_t_co2eq_per_meat <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_meat - base_run_df$carbon_stock_change_t_co2eq_per_meat)/base_run_df$carbon_stock_change_t_co2eq_per_meat)*100),0, - ((scenario_df$carbon_stock_change_t_co2eq_per_meat - base_run_df$carbon_stock_change_t_co2eq_per_meat)/base_run_df$carbon_stock_change_t_co2eq_per_meat)*100) - - carbon_stock_change_t_co2eq_per_protein <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_protein - base_run_df$carbon_stock_change_t_co2eq_per_protein)/base_run_df$carbon_stock_change_t_co2eq_per_protein)*100),0, - ((scenario_df$carbon_stock_change_t_co2eq_per_protein - base_run_df$carbon_stock_change_t_co2eq_per_protein)/base_run_df$carbon_stock_change_t_co2eq_per_protein)*100) - - total_milk_produced_energy_kcal_per_year <- ifelse(!is.finite(((scenario_df$total_milk_produced_energy_kcal_per_year - base_run_df$total_milk_produced_energy_kcal_per_year)/base_run_df$total_milk_produced_energy_kcal_per_year)*100),0, - ((scenario_df$total_milk_produced_energy_kcal_per_year - base_run_df$total_milk_produced_energy_kcal_per_year)/base_run_df$total_milk_produced_energy_kcal_per_year)*100) - - total_meat_produced_energy_kcal_per_year <- ifelse(!is.finite(((scenario_df$total_meat_produced_energy_kcal_per_year - base_run_df$total_meat_produced_energy_kcal_per_year)/base_run_df$total_meat_produced_energy_kcal_per_year)*100),0, - ((scenario_df$total_meat_produced_energy_kcal_per_year - base_run_df$total_meat_produced_energy_kcal_per_year)/base_run_df$total_meat_produced_energy_kcal_per_year)*100) - - total_milk_produced_ame_days_per_year <- ifelse(!is.finite(((scenario_df$total_milk_produced_ame_days_per_year - base_run_df$total_milk_produced_ame_days_per_year)/base_run_df$total_milk_produced_ame_days_per_year)*100),0, - ((scenario_df$total_milk_produced_ame_days_per_year - base_run_df$total_milk_produced_ame_days_per_year)/base_run_df$total_milk_produced_ame_days_per_year)*100) - - total_meat_produced_ame_days_per_year <- ifelse(!is.finite(((scenario_df$total_meat_produced_ame_days_per_year - base_run_df$total_meat_produced_ame_days_per_year)/base_run_df$total_meat_produced_ame_days_per_year)*100),0, - ((scenario_df$total_meat_produced_ame_days_per_year - base_run_df$total_meat_produced_ame_days_per_year)/base_run_df$total_meat_produced_ame_days_per_year)*100) - - total_carbon_balance_per_fpcm <- ifelse(!is.finite(((scenario_df$total_carbon_balance_per_fpcm - base_run_df$total_carbon_balance_per_fpcm)/base_run_df$total_carbon_balance_per_fpcm)*100),0, - ((scenario_df$total_carbon_balance_per_fpcm - base_run_df$total_carbon_balance_per_fpcm)/base_run_df$total_carbon_balance_per_fpcm)*100) - - total_carbon_balance_per_meat <- ifelse(!is.finite(((scenario_df$total_carbon_balance_per_meat - base_run_df$total_carbon_balance_per_meat)/base_run_df$total_carbon_balance_per_meat)*100),0, - ((scenario_df$total_carbon_balance_per_meat - base_run_df$total_carbon_balance_per_meat)/base_run_df$total_carbon_balance_per_meat)*100) - - total_carbon_balance_per_protein <- ifelse(!is.finite(((scenario_df$total_carbon_balance_per_protein - base_run_df$total_carbon_balance_per_protein)/base_run_df$total_carbon_balance_per_protein)*100),0, - ((scenario_df$total_carbon_balance_per_protein - base_run_df$total_carbon_balance_per_protein)/base_run_df$total_carbon_balance_per_protein)*100) - - scenarioList[[i]] <- data.frame(scenario, - total_milk_produced_kg_fpcm_per_year, - total_meat_produced_kg_per_year, - total_protein_produced_kg_per_year, - total_tlu, - total_land_requirement_ha, - total_land_requirement_ha_per_kg_fpcm, - total_land_requirement_ha_per_kg_meat, - total_land_requirement_ha_per_kg_protein, - total_land_requirement_ha_per_tlu, - total_n_balance_kg_n_per_year, - percent_area_mining, - percent_area_leaching, - n_balance_kg_n_per_ha_per_year, - n_balance_kg_n_per_kg_fpcm, - n_balance_kg_n_per_kg_meat, - n_balance_kg_n_per_kg_protein, - erosion_t_soil_year, - erosion_t_soil_per_ha_per_year, - erosion_kgsoil_per_kg_fpcm, - erosion_kgsoil_per_kg_meat, - erosion_kgsoil_per_kg_protein, - ghg_emission_t_co2_eq_per_year, - ghg_emission_t_co2_eq_per_ha_per_year, - ghg_emission_t_co2_eq_per_kg_fpcm, - ghg_emission_t_co2_eq_per_kg_meat, - ghg_emission_t_co2_eq_per_kg_protein, - percent_precipitation_used_for_feed_production, - total_water_use_m3, - total_water_use_m3_per_ha, - total_water_use_m3_per_kg_fpcm, - total_water_use_m3_per_kg_meat, - total_water_use_m3_per_kg_protein, - carbon_stock_change_t_co2eq_per_year, - carbon_stock_change_t_co2eq_per_ha_per_year, - carbon_stock_change_t_co2eq_per_fpcm, - carbon_stock_change_t_co2eq_per_meat, - carbon_stock_change_t_co2eq_per_protein, - total_milk_produced_energy_kcal_per_year, - total_meat_produced_energy_kcal_per_year, - total_milk_produced_ame_days_per_year, - total_meat_produced_ame_days_per_year, - total_carbon_balance_per_fpcm, - total_carbon_balance_per_meat, - total_carbon_balance_per_protein) + total_milk_produced_kg_fpcm_per_year <- ifelse(!is.finite(((scenario_df$total_milk_produced_kg_fpcm_per_year - + base_run_df$total_milk_produced_kg_fpcm_per_year)/base_run_df$total_milk_produced_kg_fpcm_per_year) * + 100), 0, ((scenario_df$total_milk_produced_kg_fpcm_per_year - + base_run_df$total_milk_produced_kg_fpcm_per_year)/base_run_df$total_milk_produced_kg_fpcm_per_year) * + 100) + total_meat_produced_kg_per_year <- ifelse(!is.finite(((scenario_df$total_meat_produced_kg_per_year - + base_run_df$total_meat_produced_kg_per_year)/base_run_df$total_meat_produced_kg_per_year) * + 100), 0, ((scenario_df$total_meat_produced_kg_per_year - + base_run_df$total_meat_produced_kg_per_year)/base_run_df$total_meat_produced_kg_per_year) * + 100) + total_protein_produced_kg_per_year <- ifelse(!is.finite(((scenario_df$total_protein_produced_kg_per_year - + base_run_df$total_protein_produced_kg_per_year)/base_run_df$total_protein_produced_kg_per_year) * + 100), 0, ((scenario_df$total_protein_produced_kg_per_year - + base_run_df$total_protein_produced_kg_per_year)/base_run_df$total_protein_produced_kg_per_year) * + 100) + total_tlu <- ifelse(!is.finite(((scenario_df$total_tlu - + base_run_df$total_tlu)/base_run_df$total_tlu) * + 100), 0, ((scenario_df$total_tlu - base_run_df$total_tlu)/base_run_df$total_tlu) * + 100) + total_land_requirement_ha <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha - + base_run_df$total_land_requirement_ha)/base_run_df$total_land_requirement_ha) * + 100), 0, ((scenario_df$total_land_requirement_ha - + base_run_df$total_land_requirement_ha)/base_run_df$total_land_requirement_ha) * + 100) + total_land_requirement_ha_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_kg_fpcm - + base_run_df$total_land_requirement_ha_per_kg_fpcm)/base_run_df$total_land_requirement_ha_per_kg_fpcm) * + 100), 0, ((scenario_df$total_land_requirement_ha_per_kg_fpcm - + base_run_df$total_land_requirement_ha_per_kg_fpcm)/base_run_df$total_land_requirement_ha_per_kg_fpcm) * + 100) + total_land_requirement_ha_per_kg_meat <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_kg_meat - + base_run_df$total_land_requirement_ha_per_kg_meat)/base_run_df$total_land_requirement_ha_per_kg_meat) * + 100), 0, ((scenario_df$total_land_requirement_ha_per_kg_meat - + base_run_df$total_land_requirement_ha_per_kg_meat)/base_run_df$total_land_requirement_ha_per_kg_meat) * + 100) + total_land_requirement_ha_per_kg_protein <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_kg_protein - + base_run_df$total_land_requirement_ha_per_kg_protein)/base_run_df$total_land_requirement_ha_per_kg_protein) * + 100), 0, ((scenario_df$total_land_requirement_ha_per_kg_protein - + base_run_df$total_land_requirement_ha_per_kg_protein)/base_run_df$total_land_requirement_ha_per_kg_protein) * + 100) + total_land_requirement_ha_per_tlu <- ifelse(!is.finite(((scenario_df$total_land_requirement_ha_per_tlu - + base_run_df$total_land_requirement_ha_per_tlu)/base_run_df$total_land_requirement_ha_per_tlu) * + 100), 0, ((scenario_df$total_land_requirement_ha_per_tlu - + base_run_df$total_land_requirement_ha_per_tlu)/base_run_df$total_land_requirement_ha_per_tlu) * + 100) + total_n_balance_kg_n_per_year <- ifelse(!is.finite(((scenario_df$total_n_balance_kg_n_per_year - + base_run_df$total_n_balance_kg_n_per_year)/base_run_df$total_n_balance_kg_n_per_year) * + 100), 0, ((scenario_df$total_n_balance_kg_n_per_year - + base_run_df$total_n_balance_kg_n_per_year)/base_run_df$total_n_balance_kg_n_per_year) * + 100) + percent_area_mining <- ifelse(!is.finite(((scenario_df$percent_area_mining - + base_run_df$percent_area_mining)/base_run_df$percent_area_mining) * + 100), 0, ((scenario_df$percent_area_mining - base_run_df$percent_area_mining)/base_run_df$percent_area_mining) * + 100) + percent_area_leaching <- ifelse(!is.finite(((scenario_df$percent_area_leaching - + base_run_df$percent_area_leaching)/base_run_df$percent_area_leaching) * + 100), 0, ((scenario_df$percent_area_leaching - base_run_df$percent_area_leaching)/base_run_df$percent_area_leaching) * + 100) + n_balance_kg_n_per_ha_per_year <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_ha_per_year - + base_run_df$n_balance_kg_n_per_ha_per_year)/base_run_df$n_balance_kg_n_per_ha_per_year) * + 100), 0, ((scenario_df$n_balance_kg_n_per_ha_per_year - + base_run_df$n_balance_kg_n_per_ha_per_year)/base_run_df$n_balance_kg_n_per_ha_per_year) * + 100) + n_balance_kg_n_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_kg_fpcm - + base_run_df$n_balance_kg_n_per_kg_fpcm)/base_run_df$n_balance_kg_n_per_kg_fpcm) * + 100), 0, ((scenario_df$n_balance_kg_n_per_kg_fpcm - + base_run_df$n_balance_kg_n_per_kg_fpcm)/base_run_df$n_balance_kg_n_per_kg_fpcm) * + 100) + n_balance_kg_n_per_kg_meat <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_kg_meat - + base_run_df$n_balance_kg_n_per_kg_meat)/base_run_df$n_balance_kg_n_per_kg_meat) * + 100), 0, ((scenario_df$n_balance_kg_n_per_kg_meat - + base_run_df$n_balance_kg_n_per_kg_meat)/base_run_df$n_balance_kg_n_per_kg_meat) * + 100) + n_balance_kg_n_per_kg_protein <- ifelse(!is.finite(((scenario_df$n_balance_kg_n_per_kg_protein - + base_run_df$n_balance_kg_n_per_kg_protein)/base_run_df$n_balance_kg_n_per_kg_protein) * + 100), 0, ((scenario_df$n_balance_kg_n_per_kg_protein - + base_run_df$n_balance_kg_n_per_kg_protein)/base_run_df$n_balance_kg_n_per_kg_protein) * + 100) + erosion_t_soil_year <- ifelse(!is.finite(((scenario_df$erosion_t_soil_year - + base_run_df$erosion_t_soil_year)/base_run_df$erosion_t_soil_year) * + 100), 0, ((scenario_df$erosion_t_soil_year - base_run_df$erosion_t_soil_year)/base_run_df$erosion_t_soil_year) * + 100) + erosion_t_soil_per_ha_per_year <- ifelse(!is.finite(((scenario_df$erosion_t_soil_per_ha_per_year - + base_run_df$erosion_t_soil_per_ha_per_year)/base_run_df$erosion_t_soil_per_ha_per_year) * + 100), 0, ((scenario_df$erosion_t_soil_per_ha_per_year - + base_run_df$erosion_t_soil_per_ha_per_year)/base_run_df$erosion_t_soil_per_ha_per_year) * + 100) + erosion_kgsoil_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$erosion_kgsoil_per_kg_fpcm - + base_run_df$erosion_kgsoil_per_kg_fpcm)/base_run_df$erosion_kgsoil_per_kg_fpcm) * + 100), 0, ((scenario_df$erosion_kgsoil_per_kg_fpcm - + base_run_df$erosion_kgsoil_per_kg_fpcm)/base_run_df$erosion_kgsoil_per_kg_fpcm) * + 100) + erosion_kgsoil_per_kg_meat <- ifelse(!is.finite(((scenario_df$erosion_kgsoil_per_kg_meat - + base_run_df$erosion_kgsoil_per_kg_meat)/base_run_df$erosion_kgsoil_per_kg_meat) * + 100), 0, ((scenario_df$erosion_kgsoil_per_kg_meat - + base_run_df$erosion_kgsoil_per_kg_meat)/base_run_df$erosion_kgsoil_per_kg_meat) * + 100) + erosion_kgsoil_per_kg_protein <- ifelse(!is.finite(((scenario_df$erosion_kgsoil_per_kg_protein - + base_run_df$erosion_kgsoil_per_kg_protein)/base_run_df$erosion_kgsoil_per_kg_protein) * + 100), 0, ((scenario_df$erosion_kgsoil_per_kg_protein - + base_run_df$erosion_kgsoil_per_kg_protein)/base_run_df$erosion_kgsoil_per_kg_protein) * + 100) + ghg_emission_t_co2_eq_per_year <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_year - + base_run_df$ghg_emission_t_co2_eq_per_year)/base_run_df$ghg_emission_t_co2_eq_per_year) * + 100), 0, ((scenario_df$ghg_emission_t_co2_eq_per_year - + base_run_df$ghg_emission_t_co2_eq_per_year)/base_run_df$ghg_emission_t_co2_eq_per_year) * + 100) + ghg_emission_t_co2_eq_per_ha_per_year <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_ha_per_year - + base_run_df$ghg_emission_t_co2_eq_per_ha_per_year)/base_run_df$ghg_emission_t_co2_eq_per_ha_per_year) * + 100), 0, ((scenario_df$ghg_emission_t_co2_eq_per_ha_per_year - + base_run_df$ghg_emission_t_co2_eq_per_ha_per_year)/base_run_df$ghg_emission_t_co2_eq_per_ha_per_year) * + 100) + ghg_emission_t_co2_eq_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_kg_fpcm - + base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm)/base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm) * + 100), 0, ((scenario_df$ghg_emission_t_co2_eq_per_kg_fpcm - + base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm)/base_run_df$ghg_emission_t_co2_eq_per_kg_fpcm) * + 100) + ghg_emission_t_co2_eq_per_kg_meat <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_kg_meat - + base_run_df$ghg_emission_t_co2_eq_per_kg_meat)/base_run_df$ghg_emission_t_co2_eq_per_kg_meat) * + 100), 0, ((scenario_df$ghg_emission_t_co2_eq_per_kg_meat - + base_run_df$ghg_emission_t_co2_eq_per_kg_meat)/base_run_df$ghg_emission_t_co2_eq_per_kg_meat) * + 100) + ghg_emission_t_co2_eq_per_kg_protein <- ifelse(!is.finite(((scenario_df$ghg_emission_t_co2_eq_per_kg_protein - + base_run_df$ghg_emission_t_co2_eq_per_kg_protein)/base_run_df$ghg_emission_t_co2_eq_per_kg_protein) * + 100), 0, ((scenario_df$ghg_emission_t_co2_eq_per_kg_protein - + base_run_df$ghg_emission_t_co2_eq_per_kg_protein)/base_run_df$ghg_emission_t_co2_eq_per_kg_protein) * + 100) + percent_precipitation_used_for_feed_production <- ifelse(!is.finite(((scenario_df$percent_precipitation_used_for_feed_production - + base_run_df$percent_precipitation_used_for_feed_production)/base_run_df$percent_precipitation_used_for_feed_production) * + 100), 0, ((scenario_df$percent_precipitation_used_for_feed_production - + base_run_df$percent_precipitation_used_for_feed_production)/base_run_df$percent_precipitation_used_for_feed_production) * + 100) + total_water_use_m3 <- ifelse(!is.finite(((scenario_df$total_water_use_m3 - + base_run_df$total_water_use_m3)/base_run_df$total_water_use_m3) * + 100), 0, ((scenario_df$total_water_use_m3 - base_run_df$total_water_use_m3)/base_run_df$total_water_use_m3) * + 100) + total_water_use_m3_per_ha <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_ha - + base_run_df$total_water_use_m3_per_ha)/base_run_df$total_water_use_m3_per_ha) * + 100), 0, ((scenario_df$total_water_use_m3_per_ha - + base_run_df$total_water_use_m3_per_ha)/base_run_df$total_water_use_m3_per_ha) * + 100) + total_water_use_m3_per_kg_fpcm <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_kg_fpcm - + base_run_df$total_water_use_m3_per_kg_fpcm)/base_run_df$total_water_use_m3_per_kg_fpcm) * + 100), 0, ((scenario_df$total_water_use_m3_per_kg_fpcm - + base_run_df$total_water_use_m3_per_kg_fpcm)/base_run_df$total_water_use_m3_per_kg_fpcm) * + 100) + total_water_use_m3_per_kg_meat <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_kg_meat - + base_run_df$total_water_use_m3_per_kg_meat)/base_run_df$total_water_use_m3_per_kg_meat) * + 100), 0, ((scenario_df$total_water_use_m3_per_kg_meat - + base_run_df$total_water_use_m3_per_kg_meat)/base_run_df$total_water_use_m3_per_kg_meat) * + 100) + total_water_use_m3_per_kg_protein <- ifelse(!is.finite(((scenario_df$total_water_use_m3_per_kg_protein - + base_run_df$total_water_use_m3_per_kg_protein)/base_run_df$total_water_use_m3_per_kg_protein) * + 100), 0, ((scenario_df$total_water_use_m3_per_kg_protein - + base_run_df$total_water_use_m3_per_kg_protein)/base_run_df$total_water_use_m3_per_kg_protein) * + 100) + carbon_stock_change_t_co2eq_per_year <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_year - + base_run_df$carbon_stock_change_t_co2eq_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_year) * + 100), 0, ((scenario_df$carbon_stock_change_t_co2eq_per_year - + base_run_df$carbon_stock_change_t_co2eq_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_year) * + 100) + carbon_stock_change_t_co2eq_per_ha_per_year <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_ha_per_year - + base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year) * + 100), 0, ((scenario_df$carbon_stock_change_t_co2eq_per_ha_per_year - + base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year)/base_run_df$carbon_stock_change_t_co2eq_per_ha_per_year) * + 100) + carbon_stock_change_t_co2eq_per_fpcm <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_fpcm - + base_run_df$carbon_stock_change_t_co2eq_per_fpcm)/base_run_df$carbon_stock_change_t_co2eq_per_fpcm) * + 100), 0, ((scenario_df$carbon_stock_change_t_co2eq_per_fpcm - + base_run_df$carbon_stock_change_t_co2eq_per_fpcm)/base_run_df$carbon_stock_change_t_co2eq_per_fpcm) * + 100) + carbon_stock_change_t_co2eq_per_meat <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_meat - + base_run_df$carbon_stock_change_t_co2eq_per_meat)/base_run_df$carbon_stock_change_t_co2eq_per_meat) * + 100), 0, ((scenario_df$carbon_stock_change_t_co2eq_per_meat - + base_run_df$carbon_stock_change_t_co2eq_per_meat)/base_run_df$carbon_stock_change_t_co2eq_per_meat) * + 100) + carbon_stock_change_t_co2eq_per_protein <- ifelse(!is.finite(((scenario_df$carbon_stock_change_t_co2eq_per_protein - + base_run_df$carbon_stock_change_t_co2eq_per_protein)/base_run_df$carbon_stock_change_t_co2eq_per_protein) * + 100), 0, ((scenario_df$carbon_stock_change_t_co2eq_per_protein - + base_run_df$carbon_stock_change_t_co2eq_per_protein)/base_run_df$carbon_stock_change_t_co2eq_per_protein) * + 100) + total_milk_produced_energy_kcal_per_year <- ifelse(!is.finite(((scenario_df$total_milk_produced_energy_kcal_per_year - + base_run_df$total_milk_produced_energy_kcal_per_year)/base_run_df$total_milk_produced_energy_kcal_per_year) * + 100), 0, ((scenario_df$total_milk_produced_energy_kcal_per_year - + base_run_df$total_milk_produced_energy_kcal_per_year)/base_run_df$total_milk_produced_energy_kcal_per_year) * + 100) + total_meat_produced_energy_kcal_per_year <- ifelse(!is.finite(((scenario_df$total_meat_produced_energy_kcal_per_year - + base_run_df$total_meat_produced_energy_kcal_per_year)/base_run_df$total_meat_produced_energy_kcal_per_year) * + 100), 0, ((scenario_df$total_meat_produced_energy_kcal_per_year - + base_run_df$total_meat_produced_energy_kcal_per_year)/base_run_df$total_meat_produced_energy_kcal_per_year) * + 100) + total_milk_produced_ame_days_per_year <- ifelse(!is.finite(((scenario_df$total_milk_produced_ame_days_per_year - + base_run_df$total_milk_produced_ame_days_per_year)/base_run_df$total_milk_produced_ame_days_per_year) * + 100), 0, ((scenario_df$total_milk_produced_ame_days_per_year - + base_run_df$total_milk_produced_ame_days_per_year)/base_run_df$total_milk_produced_ame_days_per_year) * + 100) + total_meat_produced_ame_days_per_year <- ifelse(!is.finite(((scenario_df$total_meat_produced_ame_days_per_year - + base_run_df$total_meat_produced_ame_days_per_year)/base_run_df$total_meat_produced_ame_days_per_year) * + 100), 0, ((scenario_df$total_meat_produced_ame_days_per_year - + base_run_df$total_meat_produced_ame_days_per_year)/base_run_df$total_meat_produced_ame_days_per_year) * + 100) + total_carbon_balance_per_fpcm <- ifelse(!is.finite(((scenario_df$total_carbon_balance_per_fpcm - + base_run_df$total_carbon_balance_per_fpcm)/base_run_df$total_carbon_balance_per_fpcm) * + 100), 0, ((scenario_df$total_carbon_balance_per_fpcm - + base_run_df$total_carbon_balance_per_fpcm)/base_run_df$total_carbon_balance_per_fpcm) * + 100) + total_carbon_balance_per_meat <- ifelse(!is.finite(((scenario_df$total_carbon_balance_per_meat - + base_run_df$total_carbon_balance_per_meat)/base_run_df$total_carbon_balance_per_meat) * + 100), 0, ((scenario_df$total_carbon_balance_per_meat - + base_run_df$total_carbon_balance_per_meat)/base_run_df$total_carbon_balance_per_meat) * + 100) + total_carbon_balance_per_protein <- ifelse(!is.finite(((scenario_df$total_carbon_balance_per_protein - + base_run_df$total_carbon_balance_per_protein)/base_run_df$total_carbon_balance_per_protein) * + 100), 0, ((scenario_df$total_carbon_balance_per_protein - + base_run_df$total_carbon_balance_per_protein)/base_run_df$total_carbon_balance_per_protein) * + 100) + scenarioList[[i]] <- data.frame(scenario, total_milk_produced_kg_fpcm_per_year, + total_meat_produced_kg_per_year, total_protein_produced_kg_per_year, + total_tlu, total_land_requirement_ha, total_land_requirement_ha_per_kg_fpcm, + total_land_requirement_ha_per_kg_meat, total_land_requirement_ha_per_kg_protein, + total_land_requirement_ha_per_tlu, total_n_balance_kg_n_per_year, + percent_area_mining, percent_area_leaching, n_balance_kg_n_per_ha_per_year, + n_balance_kg_n_per_kg_fpcm, n_balance_kg_n_per_kg_meat, + n_balance_kg_n_per_kg_protein, erosion_t_soil_year, + erosion_t_soil_per_ha_per_year, erosion_kgsoil_per_kg_fpcm, + erosion_kgsoil_per_kg_meat, erosion_kgsoil_per_kg_protein, + ghg_emission_t_co2_eq_per_year, ghg_emission_t_co2_eq_per_ha_per_year, + ghg_emission_t_co2_eq_per_kg_fpcm, ghg_emission_t_co2_eq_per_kg_meat, + ghg_emission_t_co2_eq_per_kg_protein, percent_precipitation_used_for_feed_production, + total_water_use_m3, total_water_use_m3_per_ha, total_water_use_m3_per_kg_fpcm, + total_water_use_m3_per_kg_meat, total_water_use_m3_per_kg_protein, + carbon_stock_change_t_co2eq_per_year, carbon_stock_change_t_co2eq_per_ha_per_year, + carbon_stock_change_t_co2eq_per_fpcm, carbon_stock_change_t_co2eq_per_meat, + carbon_stock_change_t_co2eq_per_protein, total_milk_produced_energy_kcal_per_year, + total_meat_produced_energy_kcal_per_year, total_milk_produced_ame_days_per_year, + total_meat_produced_ame_days_per_year, total_carbon_balance_per_fpcm, + total_carbon_balance_per_meat, total_carbon_balance_per_protein) } - results <- scenarioList %>% dplyr::bind_rows() - - for(i in 2:ncol(results)){ - + for (i in 2:ncol(results)) { datos <- results %>% select(1, all_of(i)) - - # titles tt <- colnames(datos[2]) - - - if(tt == "total_milk_produced_kg_fpcm_per_year"){ + if (tt == "total_milk_produced_kg_fpcm_per_year") { title = "Total milk FPCM (kg/yr)" y_title = "% change in milk FPCM (kg/yr)" - }else if(tt == "total_meat_produced_kg_per_year"){ + } + else if (tt == "total_meat_produced_kg_per_year") { title = "Total meat (kg/yr)" y_title = "% change in meat (kg/yr)" - }else if(tt == "total_protein_produced_kg_per_year"){ + } + else if (tt == "total_protein_produced_kg_per_year") { title = "Total protein (kg/yr)" y_title = "% change in protein (kg/yr)" - }else if (tt == "total_tlu"){ + } + else if (tt == "total_tlu") { title = "Tropical Livestock Unit" y_title = "% change in Tropical Livestock Unit" - }else if (tt == "total_land_requirement_ha"){ + } + else if (tt == "total_land_requirement_ha") { title = "Land required (ha/yr)" y_title = "% change in land required (ha/yr)" - }else if (tt == "total_land_requirement_ha_per_kg_fpcm"){ + } + else if (tt == "total_land_requirement_ha_per_kg_fpcm") { title = "Land required (ha/kg FPCM)" y_title = "% change in land required (ha/kg FPCM)" - }else if (tt == "total_land_requirement_ha_per_kg_meat"){ + } + else if (tt == "total_land_requirement_ha_per_kg_meat") { title = "Land required (ha/kg meat)" y_title = "% change in land required (ha/kg meat)" - }else if (tt == "total_land_requirement_ha_per_kg_protein"){ + } + else if (tt == "total_land_requirement_ha_per_kg_protein") { title = "Land required (ha/kg protein)" y_title = "% change in land required (ha/kg protein)" - }else if (tt == "total_land_requirement_ha_per_tlu"){ + } + else if (tt == "total_land_requirement_ha_per_tlu") { title = "Land required (ha/TLU)" y_title = "% change in land required (ha/TLU)" - }else if (tt == "total_n_balance_kg_n_per_year"){ + } + else if (tt == "total_n_balance_kg_n_per_year") { title = "N balance (kg N/yr)" y_title = "% change in N balance (kg N/yr)" - }else if (tt == "percent_area_mining"){ + } + else if (tt == "percent_area_mining") { title = "Soil mining (%)" y_title = "% change in soil mining" - }else if (tt == "percent_area_leaching"){ + } + else if (tt == "percent_area_leaching") { title = "Soil leaching (%)" y_title = "% change in soil leaching" - }else if (tt == "n_balance_kg_n_per_ha_per_year"){ + } + else if (tt == "n_balance_kg_n_per_ha_per_year") { title = "N balance (kg N/ha/yr)" y_title = "% change in N balance (kg N/ha/yr)" - }else if (tt == "n_balance_kg_n_per_kg_fpcm"){ + } + else if (tt == "n_balance_kg_n_per_kg_fpcm") { title = "N balance (kg N/kg FPCM)" y_title = "% change in N balance (kg N/kg FPCM)" - }else if (tt == "n_balance_kg_n_per_kg_meat"){ + } + else if (tt == "n_balance_kg_n_per_kg_meat") { title = "N balance (kg N/kg meat)" y_title = "% change in N balance (kg N/kg meat)" - }else if (tt == "n_balance_kg_n_per_kg_protein"){ + } + else if (tt == "n_balance_kg_n_per_kg_protein") { title = "N balance (kg N/kg protein)" y_title = "% change in N balance (kg N/kg protein)" - }else if (tt == "erosion_t_soil_year"){ + } + else if (tt == "erosion_t_soil_year") { title = "Erosion (t soil/yr)" y_title = "% change in erosion (t soil/yr)" - }else if (tt == "erosion_t_soil_per_ha_per_year"){ + } + else if (tt == "erosion_t_soil_per_ha_per_year") { title = "Erosion (t soil/ha/yr)" y_title = "% change in erosion (t soil/ha/yr)" - }else if (tt == "erosion_kgsoil_per_kg_fpcm"){ + } + else if (tt == "erosion_kgsoil_per_kg_fpcm") { title = "Erosion (t soil/kg FPCM)" y_title = "% change in erosion (t soil/kg FPCM)" - }else if (tt == "erosion_kgsoil_per_kg_meat"){ + } + else if (tt == "erosion_kgsoil_per_kg_meat") { title = "Erosion (t soil/kg meat)" y_title = "% change in erosion (t soil/kg meat)" - }else if (tt == "erosion_kgsoil_per_kg_protein"){ + } + else if (tt == "erosion_kgsoil_per_kg_protein") { title = "Erosion (t soil/kg protein)" y_title = "% change in erosion (t soil/kg protein)" - }else if (tt == "ghg_emission_t_co2_eq_per_year"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_year") { title = "GHG (t CO2eq/yr)" y_title = "% change in GHG (t CO2eq/yr)" - }else if (tt == "ghg_emission_t_co2_eq_per_ha_per_year"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_ha_per_year") { title = "GHG (t CO2eq/ha/yr)" y_title = "% change in GHG (t CO2eq/ha/yr)" - }else if (tt == "ghg_emission_t_co2_eq_per_kg_fpcm"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_kg_fpcm") { title = "GHG (CO2eq/kg FPCM)" y_title = "% change in GHG (CO2eq/kg FPCM)" - }else if (tt == "ghg_emission_t_co2_eq_per_kg_meat"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_kg_meat") { title = "GHG (CO2eq/kg meat)" y_title = "% change in GHG (CO2eq/kg meat)" - }else if (tt == "ghg_emission_t_co2_eq_per_kg_protein"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_kg_protein") { title = "GHG (CO2eq/kg protein)" y_title = "% change in GHG (CO2eq/kg protein)" - }else if (tt == "percent_precipitation_used_for_feed_production"){ + } + else if (tt == "percent_precipitation_used_for_feed_production") { title = "% Precipitation use for feed production" y_title = "% change in % precipitation use for feed production" - }else if (tt == "total_water_use_m3"){ + } + else if (tt == "total_water_use_m3") { title = "Water use (m3/yr)" y_title = "% change water use (m3/yr)" - }else if (tt == "total_water_use_m3_per_ha"){ + } + else if (tt == "total_water_use_m3_per_ha") { title = "Water use (m3/ha)" y_title = "% change in water use (m3/ha)" - }else if (tt == "total_water_use_m3_per_kg_fpcm"){ + } + else if (tt == "total_water_use_m3_per_kg_fpcm") { title = "Water use (m3/kg FPCM)" y_title = "% change in water use (m3/kg FPCM)" - }else if (tt == "total_water_use_m3_per_kg_meat"){ + } + else if (tt == "total_water_use_m3_per_kg_meat") { title = "Water use (m3/kg meat)" y_title = "% change in water use (m3/kg meat)" - }else if (tt == "total_water_use_m3_per_kg_protein"){ + } + else if (tt == "total_water_use_m3_per_kg_protein") { title = "Water (m3/kg protein)" y_title = "% change in water (m3/kg protein)" - }else if (tt == "carbon_stock_change_t_co2eq_per_year"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_year") { title = "Carbon stock changes (t CO2eq/yr)" y_title = "% change in carbon stock changes (t CO2eq/yr)" - }else if (tt == "carbon_stock_change_t_co2eq_per_ha_per_year"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_ha_per_year") { title = "Carbon stock changes (t CO2eq/ha/yr)" y_title = "% change in carbon stock changes (t CO2eq/ha/yr)" - }else if (tt == "carbon_stock_change_t_co2eq_per_fpcm"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_fpcm") { title = "Carbon stock changes (t CO2eq/kg FPCM)" y_title = "% change in carbon stock changes (t CO2eq/kg FPCM)" - }else if (tt == "carbon_stock_change_t_co2eq_per_meat"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_meat") { title = "Carbon stock changes (t CO2eq/kg meat)" y_title = "% change in carbon stock changes (t CO2eq/kg meat)" - }else if (tt == "carbon_stock_change_t_co2eq_per_protein"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_protein") { title = "Carbon stock changes (t CO2eq/kg protein)" y_title = "% change in carbon stock changes (t CO2eq/kg protein)" - }else if (tt == "total_milk_produced_energy_kcal_per_year"){ + } + else if (tt == "total_milk_produced_energy_kcal_per_year") { title = "Energy (kcal/kg FPCM)" y_title = "% change in energy (kcal/kg FPCM)" - }else if (tt == "total_meat_produced_energy_kcal_per_year"){ + } + else if (tt == "total_meat_produced_energy_kcal_per_year") { title = "Energy (kcal/kg meat)" y_title = "% change in energy (kcal/kg meat)" - }else if (tt == "total_milk_produced_ame_days_per_year"){ + } + else if (tt == "total_milk_produced_ame_days_per_year") { title = "AME (days/kg FPCM)" y_title = "% change in AME (days/kg FPCM)" - }else if (tt == "total_meat_produced_ame_days_per_year"){ + } + else if (tt == "total_meat_produced_ame_days_per_year") { title = "AME (days/kg meat)" y_title = "% change in AME (days/kg meat)" - }else if (tt == "total_carbon_balance_per_fpcm"){ + } + else if (tt == "total_carbon_balance_per_fpcm") { title = "Carbon balance (t CO2eq/kg FPCM)" y_title = "% change in carbon balance (t CO2eq/kg FPCM)" - }else if (tt == "total_carbon_balance_per_meat"){ + } + else if (tt == "total_carbon_balance_per_meat") { title = "Carbon balance (t CO2eq/kg meat)" y_title = "% change in carbon balance (t CO2eq/kg meat)" - }else if (tt == "total_carbon_balance_per_protein"){ + } + else if (tt == "total_carbon_balance_per_protein") { title = "Carbon balance (t CO2eq/kg protein)" y_title = "% change in carbon balance (t CO2eq/kg protein)" - }else{ + } + else { NA } - ggplot(datos, aes_string("scenario", y = tt, fill = "scenario")) + - geom_bar(stat = "identity", - position = "dodge", - width = 0.2) + - geom_text(aes(label = round(datos[,2],2)), position = position_dodge(width = 0.2), vjust = -0.5, size = 2) + - labs(x = "", y = y_title, title = title, fill = "Scenario") + - theme_bw() - - ggsave(paste0(oDir2, tt, ".png"), width = 150, height = 100, units = "mm") - + output_list[[tt]] <- list( + datos = datos, + tt = tt, + title = title, + y_title = y_title + ) } + return(output_list) } diff --git a/R/merge_outputs.R b/R/merge_outputs.R index 2c8411d..631e0c7 100644 --- a/R/merge_outputs.R +++ b/R/merge_outputs.R @@ -52,9 +52,10 @@ #' #' @export #' + combineOutputs <- function(para, feed_basket_quality, energy_required, land_required, soil_erosion, water_required, nitrogen_balance, livestock_productivity, - biomass,soil_carbon, ghg_emission, filePath){ + biomass,soil_carbon, ghg_emission, filePath, primary_excel){ if (exists("para")) { para = para }else {para = "ERROR: Data is not provided"} @@ -106,6 +107,11 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ # Extract the file name fileName <- sub("\\.\\w+$", "", basename(filePath)) }else {filePath = "ERROR: File path is not provided"} + if (exists("primary_excel")) { + primary_excel = primary_excel + # Load primary_excel workbook + primary_excel_wb <- loadWorkbook(primary_excel) + }else {filePath = "ERROR: primary excel file is not provided"} feed_basket_quality <- lapply(feed_basket_quality, function(x) {x <- x[,-1]}) @@ -123,24 +129,12 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ # geom_text(aes(label = round(area_feed_total, 2)), vjust = -0.5, size = 1, angle = 45) + # theme_bw()+ # theme(axis.text.x = element_text(angle = 45, hjust = 1)) - land_required %>% + land_required_output <- land_required %>% group_by(feed, season_name) %>% summarise(area_feed_total = sum(area_feed, na.rm = TRUE)) %>% group_by(feed) %>% mutate(cumulative_area = cumsum(area_feed_total), - label_position = cumulative_area - 0.7 * area_feed_total) %>% - ggplot(aes(x = feed, y = area_feed_total, fill = season_name)) + - geom_bar(stat = "identity", width = 0.6) + - geom_text(aes(label = round(area_feed_total, 2), y = label_position), - size = 1, angle = 45, vjust = -0.) + - labs(x = "Feed Item", y = "Area (Ha)", fill = "Seasons", title = "Land Requirement and Feed Basket") + - theme_bw() + - theme(axis.text.x = element_text(size = 5, angle = 45, hjust = 1), - axis.text.y = element_text(size = 5)) + - scale_fill_discrete(guide = guide_legend(title = "Seasons")) - - ggsave(paste0(directoryPath, "/", fileName, "_land_required.png"), width = 150, height = 100, units = "mm") - + label_position = cumulative_area - 0.7 * area_feed_total) # Expanded table land requirement ex_land_required <- land_required %>% @@ -281,7 +275,7 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ production_kg_per_year = c("",cattle_milk_kg,cattle_meat_kg,"",other_milk_kg,other_meat_kg,"",total_milk_kg,total_meat_kg), production_energy_kcal_per_year = c("",cattle_milk_energy,cattle_meat_energy,"",other_milk_energy,other_meat_energy,"",total_milk_energy,total_meat_energy), protein_kg_per_year = c("",cattle_milk_protein,cattle_meat_protein,"",other_milk_protein,other_meat_protein,"",total_milk_protein,total_meat_protein) - ) %>% mutate(ame_days = as.numeric(production_energy_kcal_per_year)/2500) + ) %>% mutate(ame_days = as.numeric(production_energy_kcal_per_year)/2500) # Produced manure cattle_number <- sum(livestock_productivity$number_cattle, na.rm = T) @@ -316,18 +310,9 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ ## Soil impact ############################################################################################### # Plotting N balance - nitrogen_balance %>% + nitrogen_balance_output <- nitrogen_balance %>% group_by(feed) %>% - summarise(nbalance_kg_n_total = sum(nbalance_kg_n_total, na.rm = T)) %>% - ggplot2::ggplot(aes(x=feed, y=nbalance_kg_n_total))+ - geom_bar(stat = "identity", width = 0.6)+ - labs(x = "Feed Item", y = "Kg N", title = "Total Nitrogen Balance by Feed Item") + - geom_text(aes(label = round(nbalance_kg_n_total, 2)), vjust = -0.5, size = 1, angle = 0) + - theme_bw()+ - theme(axis.text.x = element_text(size = 5, angle = 45, hjust = 1), - axis.text.y = element_text(size = 5)) - - ggsave(paste0(directoryPath, "/", fileName, "_nbalance.png"), width = 150, height = 100, units = "mm") + summarise(nbalance_kg_n_total = sum(nbalance_kg_n_total, na.rm = T)) ## OVERALL SOIL IMPACTS nitrogen_balance <- nitrogen_balance @@ -338,7 +323,7 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ conc_ip_soil_loss = ifelse(stringr::str_detect(feed_item, "IP"), as.numeric(soil_loss_plot), 0), farm_soil_loss = (as.numeric(soil_loss_plot) - rough_of_soil_loss - conc_of_soil_loss - conc_ip_soil_loss)) - overal_soil_impact <- data.frame( + overal_soil_impact <- data.frame( sources = c("total", "on-farm", "rough of", "conc of", "conc ip"), balance_N_kg_N_year = c(sum(nitrogen_balance$nbalance_feed_only_kg_n, na.rm = T), sum(nitrogen_balance$farm_kg_n, na.rm = T), sum(nitrogen_balance$rough_of_kg_n, na.rm = T), sum(nitrogen_balance$conc_of_kg_n, na.rm = T), sum(nitrogen_balance$conc_ip_kg_n, na.rm = T)), @@ -351,16 +336,16 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ erosion_t_soil_year = c(sum(as.numeric(soil_erosion$soil_loss_plot, na.rm = T)), sum(soil_erosion$rough_of_soil_loss, na.rm = T), sum(soil_erosion$conc_of_soil_loss, na.rm = T), sum(soil_erosion$conc_ip_soil_loss, na.rm = T), sum(soil_erosion$farm_soil_loss, na.rm = T)) )%>% - mutate(percent_area_mining = ifelse(!is.finite(percent_area_mining),0,percent_area_mining), - percent_area_leaching = ifelse(!is.finite(percent_area_leaching),0,percent_area_leaching), - erosion_t_soil_ha = erosion_t_soil_year/c(sum(nitrogen_balance$area_total, na.rm = T), sum(nitrogen_balance$farm_area, na.rm = T), sum(nitrogen_balance$rough_of_area, na.rm = T), - sum(nitrogen_balance$conc_of_area, na.rm = T), sum(nitrogen_balance$conc_ip_area, na.rm = T))) + mutate(percent_area_mining = ifelse(!is.finite(percent_area_mining),0,percent_area_mining), + percent_area_leaching = ifelse(!is.finite(percent_area_leaching),0,percent_area_leaching), + erosion_t_soil_ha = erosion_t_soil_year/c(sum(nitrogen_balance$area_total, na.rm = T), sum(nitrogen_balance$farm_area, na.rm = T), sum(nitrogen_balance$rough_of_area, na.rm = T), + sum(nitrogen_balance$conc_of_area, na.rm = T), sum(nitrogen_balance$conc_ip_area, na.rm = T))) # Feed items specific N balance nitrogen_balance <- nitrogen_balance %>% - select(c(feed,nin,nout,nbalance_kg_n_total,nbalance_kg_n_ha_total,nbalance_feed_only_kg_n,nbalance_feed_only_kg_n_ha)) %>% - mutate(nbalance_food_only_kg_n = nbalance_kg_n_total-nbalance_feed_only_kg_n, - nbalance_food_only_kg_n_ha = nbalance_kg_n_ha_total-nbalance_feed_only_kg_n_ha) + select(c(feed,nin,nout,nbalance_kg_n_total,nbalance_kg_n_ha_total,nbalance_feed_only_kg_n,nbalance_feed_only_kg_n_ha)) %>% + mutate(nbalance_food_only_kg_n = nbalance_kg_n_total-nbalance_feed_only_kg_n, + nbalance_food_only_kg_n_ha = nbalance_kg_n_ha_total-nbalance_feed_only_kg_n_ha) soil_impacts <- list(overal_soil_impact = overal_soil_impact, nitrogen_balance = nitrogen_balance) @@ -370,16 +355,7 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ ############################################################################################### water_use_per_feed_item <- water_required[["water_use_per_feed_item"]] - ggplot(water_use_per_feed_item, aes(x = "", y = feed_water_use, fill = feed)) + - geom_bar(stat = "identity", width = 1) + - coord_polar("y", start = 0) + - labs(fill = "Feed Item", title = "Water Use per Feed Crop") + - theme_bw()+ - geom_text(aes(label = scales::percent(feed_water_use / sum(feed_water_use))), - position = position_stack(vjust = 0.5), - size = 1) - - ggsave(paste0(directoryPath, "/", fileName, "_water_use_per_feed.png"), width = 150, height = 100, units = "mm") + water_use_per_feed_item_output <- water_use_per_feed_item ############################################################################################### ## GHG Impacts @@ -458,7 +434,7 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ # Concentrates off-farm conc_of_Soil_direct_N2O <- sum(ghg_emissions[["ghg_soil"]][["annual_N20N_soil_direct_emission"]][ghg_emissions[["ghg_soil"]][["annual_N20N_soil_direct_emission"]]$anthropogenic_N_input == "conc_of_n_synthetic_fertilizer_managed_soil","annual_N20N_direct_emission_from_managed_soil"], - ghg_emissions[["ghg_soil"]][["annual_N20N_soil_direct_emission"]][ghg_emissions[["ghg_soil"]][["annual_N20N_soil_direct_emission"]]$anthropogenic_N_input == "conc_of_n_from_crop_residue_managed_soil","annual_N20N_direct_emission_from_managed_soil"],na.rm = T) + ghg_emissions[["ghg_soil"]][["annual_N20N_soil_direct_emission"]][ghg_emissions[["ghg_soil"]][["annual_N20N_soil_direct_emission"]]$anthropogenic_N_input == "conc_of_n_from_crop_residue_managed_soil","annual_N20N_direct_emission_from_managed_soil"],na.rm = T) conc_of_Soil_direct_N2O_tot_kg_co2_e <- conc_of_Soil_direct_N2O*N2O conc_of_Soil_direct_N2O_per_ha_kg_co2_e <- ifelse(area_required_concentrates_off_farm_ha<0.001,0,conc_of_Soil_direct_N2O_tot_kg_co2_e/area_required_concentrates_off_farm_ha) conc_of_Soil_direct_N2O_kg_co2_e_per_kg_fpcm <- conc_of_Soil_direct_N2O_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year @@ -597,18 +573,18 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ "", conc_ip_Soil_direct_N2O_kg_co2_e_per_kg_fpcm, conc_ip_soil_indirect_N2O_kg_co2_e_per_kg_fpcm, conc_ip_fertilizer_emission_kg_co2_e_per_kg_fpcm) - ) + ) # Global warming potential (CO2eq) soil_on_farm <- (as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Direct N2O", "kg_co2_e_per_ha"][1]) + - as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][1]))/1000 + as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][1]))/1000 soil_off_farm <- (sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Direct N2O", "kg_co2_e_per_ha"][-1])) + - sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][-1])))/1000 + sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][-1])))/1000 livestock_manure <- (as.numeric(ghg_balance[ghg_balance$GHG_balance == "Manure-Methane", "kg_co2_e_per_ha"]) + - as.numeric(ghg_balance[ghg_balance$GHG_balance == "Manure-Direct N2O", "kg_co2_e_per_ha"]) + - as.numeric(ghg_balance[ghg_balance$GHG_balance == "Manure-Indirect N2O", "kg_co2_e_per_ha"]))/1000 + as.numeric(ghg_balance[ghg_balance$GHG_balance == "Manure-Direct N2O", "kg_co2_e_per_ha"]) + + as.numeric(ghg_balance[ghg_balance$GHG_balance == "Manure-Indirect N2O", "kg_co2_e_per_ha"]))/1000 livestock_enteric_fermentation <- as.numeric(ghg_balance[ghg_balance$GHG_balance == "Enteric fermentation-Methane", "kg_co2_e_per_ha"])/1000 @@ -624,12 +600,12 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ fertilizer_off_farm_rough <- as.numeric(ghg_balance[ghg_balance$GHG_balance == "Production fertilizer", "kg_co2_e_per_ha"][2])/1000 soil_off_farm_conc <- (sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Direct N2O", "kg_co2_e_per_ha"][3])) + - sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][3])))/1000 + sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][3])))/1000 fertilizer_off_farm_conc <- as.numeric(ghg_balance[ghg_balance$GHG_balance == "Production fertilizer", "kg_co2_e_per_ha"][3])/1000 soil_ip_farm_conc <- (sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Direct N2O", "kg_co2_e_per_ha"][4])) + - sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][4])))/1000 + sum(as.numeric(ghg_balance[ghg_balance$GHG_balance == "Soil-Indirect N2O", "kg_co2_e_per_ha"][4])))/1000 fertilizer_ip_farm_conc <- as.numeric(ghg_balance[ghg_balance$GHG_balance == "Production fertilizer", "kg_co2_e_per_ha"][4])/1000 @@ -647,19 +623,10 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ on_farm_table, off_farm_table) ghg_emission <- list(ghg_balance = ghg_balance, - global_warming_potential = global_warming_potential) + global_warming_potential = global_warming_potential) # Plotting GHG emission - on_farm_table %>% - ggplot2::ggplot(aes(x=sources_and_sinks, y=t_CO2e_per_ha))+ - geom_bar(stat = "identity", width = 0.6)+ - labs(x = "", y = "t CO2e/ha", title = "GHG emissions") + - geom_text(aes(label = round(t_CO2e_per_ha, 2)), vjust = -0.5, size = 1, angle = 0) + - theme_bw()+ - theme(axis.text.x = element_text(size = 5, angle = 45, hjust = 1), - axis.text.y = element_text(size = 5)) - - ggsave(paste0(directoryPath, "/", fileName, "_ghg_emission.png"), width = 150, height = 100, units = "mm") + on_farm_table_output <- on_farm_table ############################################################################################### ## Waste @@ -679,40 +646,56 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ soil_carbon = soil_carbon, product_waste = product_waste) - jsonlite::toJSON(output_list, pretty = TRUE) - - # Flatten the nested structure - df_land_required <- output_list$land_required$land_required - df_dm_required <- output_list$land_required$dm_required - df_land_and_dm_required <- output_list$land_required$land_and_dm_required - df_overall_soil_impact <- output_list$soil_impacts$overal_soil_impact - df_nitrogen_balance <- output_list$soil_impacts$nitrogen_balance - df_water_use_per_feed_item <- output_list$water_required$water_use_per_feed_item - df_water_use_for_production <- output_list$water_required$water_use_for_production - df_consumable_livestock_product <- output_list$livestock_productivity$consumable_livestock_product - df_manure_produced <- output_list$livestock_productivity$manure_produced - df_ghg_balance <- output_list$ghg_emission$ghg_balance - df_global_warming_potential <- output_list$ghg_emission$global_warming_potential - df_biomass <- output_list$biomass - df_soil_carbon <- output_list$soil_carbon - df_product_waste <- output_list$product_waste + # Add worksheet to the primary_excel workbook + addWorksheet(primary_excel_wb, "Land Required") + writeData(primary_excel_wb, sheet = "Land Required", x = output_list$land_required$land_required) + addWorksheet(primary_excel_wb, "DM Required") + writeData(primary_excel_wb, sheet = "DM Required", x = output_list$land_required$dm_required) + addWorksheet(primary_excel_wb, "Land and DM Required") + writeData(primary_excel_wb, sheet = "Land and DM Required", x = output_list$land_required$land_and_dm_required) + addWorksheet(primary_excel_wb, "Overall Soil Impact") + writeData(primary_excel_wb, sheet = "Overall Soil Impact", x = output_list$soil_impacts$overal_soil_impact) + addWorksheet(primary_excel_wb, "Nitrogen Balance") + writeData(primary_excel_wb, sheet = "Nitrogen Balance", x = output_list$soil_impacts$nitrogen_balance) + addWorksheet(primary_excel_wb, "Water Use Per Feed Item") + writeData(primary_excel_wb, sheet = "Water Use Per Feed Item", x = output_list$water_required$water_use_per_feed_item) + addWorksheet(primary_excel_wb, "Water Use For Production") + writeData(primary_excel_wb, sheet = "Water Use For Production", x = output_list$water_required$water_use_for_production) + addWorksheet(primary_excel_wb, "Consumable Livestock Product") + writeData(primary_excel_wb, sheet = "Consumable Livestock Product", x = output_list$livestock_productivity$consumable_livestock_product) + addWorksheet(primary_excel_wb, "Manure Produced") + writeData(primary_excel_wb, sheet = "Manure Produced", x = output_list$livestock_productivity$manure_produced) + addWorksheet(primary_excel_wb, "GHG Balance") + writeData(primary_excel_wb, sheet = "GHG Balance", x = output_list$ghg_emission$ghg_balance) + addWorksheet(primary_excel_wb, "Global Warming Potential") + writeData(primary_excel_wb, sheet = "Global Warming Potential", x = output_list$ghg_emission$global_warming_potential) + addWorksheet(primary_excel_wb, "Biomass") + writeData(primary_excel_wb, sheet = "Biomass", x = output_list$biomass) + addWorksheet(primary_excel_wb, "Soil Carbon") + writeData(primary_excel_wb, sheet = "Soil Carbon", x = output_list$soil_carbon) + addWorksheet(primary_excel_wb, "Product Waste") + writeData(primary_excel_wb, sheet = "Product Waste", x = output_list$product_waste) + + # Change the order of the worksheets + worksheetOrder(primary_excel_wb) <- c("1", "8", "9", "10", "11", "12", "13", + "14", "15", "16", "17", "18", "19", "20", + "21", "2", "3", "4", "5", "6", "7") # Save to Excel with multiple sheets - excel_output_path <- paste0(directoryPath, "/", fileName, ".xlsx") # Change this to your desired output path - write.xlsx(list("Land Required" = df_land_required, - "DM Required" = df_dm_required, - "Land and DM Required" = df_land_and_dm_required, - "Overall Soil Impact" = df_overall_soil_impact, - "Nitrogen Balance" = df_nitrogen_balance, - "Water Use Per Feed Item" = df_water_use_per_feed_item, - "Water Use For Production" = df_water_use_for_production, - "Consumable Livestock Product" = df_consumable_livestock_product, - "Manure Produced" = df_manure_produced, - "GHG Balance" = df_ghg_balance, - "Global Warming Potential" = df_global_warming_potential, - "Biomass" = df_biomass, - "Soil Carbon" = df_soil_carbon, - "Product Waste" = df_product_waste), - excel_output_path) + excel_output_path <- paste0(directoryPath, "/", fileName, ".xlsx") # Create path for excel + saveWorkbook(primary_excel_wb, excel_output_path, overwrite = TRUE) + + # Save json + + + return( + list( + json_output = jsonlite::toJSON(output_list, pretty = TRUE), + on_farm_table = on_farm_table_output, + nitrogen_balance = nitrogen_balance_output, + land_required = land_required_output, + water_use_per_feed_item = water_use_per_feed_item_output + ) + ) } #end of output function diff --git a/R/plotting.R b/R/plotting.R index 5f7270b..8d8026f 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -31,169 +31,207 @@ #' @export #' -clean_plotting <- function(outFile,oDir){ - +clean_plotting <- function (outFile, oDir) +{ outFile <- jsonlite::fromJSON(outFile, flatten = TRUE) - outFile$scenario <- as.factor(outFile$scenario) - oDir <- oDir - if (!file.exists(oDir)) {dir.create(oDir, recursive=T)} - for(i in 2:ncol(outFile)){ + if (!file.exists(oDir)) { + dir.create(oDir, recursive = T) + } - datos <- outFile %>% select(1, all_of(i)) + output_list <- list() - # titles + for (i in 2:ncol(outFile)) { + datos <- outFile %>% select(1, all_of(i)) tt <- colnames(datos[2]) - - - if(tt == "total_milk_produced_kg_fpcm_per_year"){ + if (tt == "total_milk_produced_kg_fpcm_per_year") { title = "Total milk FPCM (kg/yr)" y_title = "Milk FPCM (kg/yr)" - }else if(tt == "total_meat_produced_kg_per_year"){ + } + else if (tt == "total_meat_produced_kg_per_year") { title = "Total meat (kg/yr)" y_title = "Meat (kg/yr)" - }else if(tt == "total_protein_produced_kg_per_year"){ + } + else if (tt == "total_protein_produced_kg_per_year") { title = "Total protein (kg/yr)" y_title = "Protein (kg/yr)" - }else if (tt == "total_tlu"){ + } + else if (tt == "total_tlu") { title = "Tropical Livestock Unit" y_title = "Tropical Livestock Unit" - }else if (tt == "total_land_requirement_ha"){ + } + else if (tt == "total_land_requirement_ha") { title = "Land required (ha/yr)" y_title = "Land required (ha/yr)" - }else if (tt == "total_land_requirement_ha_per_kg_fpcm"){ + } + else if (tt == "total_land_requirement_ha_per_kg_fpcm") { title = "Land required (ha/kg FPCM)" y_title = "Land required (ha/kg FPCM)" - }else if (tt == "total_land_requirement_ha_per_kg_meat"){ + } + else if (tt == "total_land_requirement_ha_per_kg_meat") { title = "Land required (ha/kg meat)" y_title = "Land required (ha/kg meat)" - }else if (tt == "total_land_requirement_ha_per_kg_protein"){ + } + else if (tt == "total_land_requirement_ha_per_kg_protein") { title = "Land required (ha/kg protein)" y_title = "Land required (ha/kg protein)" - }else if (tt == "total_land_requirement_ha_per_tlu"){ + } + else if (tt == "total_land_requirement_ha_per_tlu") { title = "Land required (ha/TLU)" y_title = "Land required (ha/TLU)" - }else if (tt == "total_n_balance_kg_n_per_year"){ + } + else if (tt == "total_n_balance_kg_n_per_year") { title = "N balance (kg N/yr)" y_title = "N balance (kg N/yr)" - }else if (tt == "percent_area_mining"){ + } + else if (tt == "percent_area_mining") { title = "Soil mining (%)" y_title = "Soil mining (%)" - }else if (tt == "percent_area_leaching"){ + } + else if (tt == "percent_area_leaching") { title = "Soil leaching (%)" y_title = "Soil leaching (%)" - }else if (tt == "n_balance_kg_n_per_ha_per_year"){ + } + else if (tt == "n_balance_kg_n_per_ha_per_year") { title = "N balance (kg N/ha/yr)" y_title = "N balance (kg N/ha/yr)" - }else if (tt == "n_balance_kg_n_per_kg_fpcm"){ + } + else if (tt == "n_balance_kg_n_per_kg_fpcm") { title = "N balance (kg N/kg FPCM)" y_title = "N balance (kg N/kg FPCM)" - }else if (tt == "n_balance_kg_n_per_kg_meat"){ + } + else if (tt == "n_balance_kg_n_per_kg_meat") { title = "N balance (kg N/kg meat)" y_title = "N balance (kg N/kg meat)" - }else if (tt == "n_balance_kg_n_per_kg_protein"){ + } + else if (tt == "n_balance_kg_n_per_kg_protein") { title = "N balance (kg N/kg protein)" y_title = "N balance (kg N/kg protein)" - }else if (tt == "erosion_t_soil_year"){ + } + else if (tt == "erosion_t_soil_year") { title = "Erosion (t soil/yr)" y_title = "Erosion (t soil/yr)" - }else if (tt == "erosion_t_soil_per_ha_per_year"){ + } + else if (tt == "erosion_t_soil_per_ha_per_year") { title = "Erosion (t soil/ha/yr)" y_title = "Erosion (t soil/ha/yr)" - }else if (tt == "erosion_kgsoil_per_kg_fpcm"){ + } + else if (tt == "erosion_kgsoil_per_kg_fpcm") { title = "Erosion (t soil/kg FPCM)" y_title = "Erosion (t soil/kg FPCM)" - }else if (tt == "erosion_kgsoil_per_kg_meat"){ + } + else if (tt == "erosion_kgsoil_per_kg_meat") { title = "Erosion (t soil/kg meat)" y_title = "Erosion (t soil/kg meat)" - }else if (tt == "erosion_kgsoil_per_kg_protein"){ + } + else if (tt == "erosion_kgsoil_per_kg_protein") { title = "Erosion (t soil/kg protein)" y_title = "Erosion (t soil/kg protein)" - }else if (tt == "ghg_emission_t_co2_eq_per_year"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_year") { title = "GHG (t CO2eq/yr)" y_title = "GHG (t CO2eq/yr)" - }else if (tt == "ghg_emission_t_co2_eq_per_ha_per_year"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_ha_per_year") { title = "GHG (t CO2eq/ha/yr)" y_title = "GHG (t CO2eq/ha/yr)" - }else if (tt == "ghg_emission_t_co2_eq_per_kg_fpcm"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_kg_fpcm") { title = "GHG (CO2eq/kg FPCM)" y_title = "GHG (CO2eq/kg FPCM)" - }else if (tt == "ghg_emission_t_co2_eq_per_kg_meat"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_kg_meat") { title = "GHG (CO2eq/kg meat)" y_title = "GHG (CO2eq/kg meat)" - }else if (tt == "ghg_emission_t_co2_eq_per_kg_protein"){ + } + else if (tt == "ghg_emission_t_co2_eq_per_kg_protein") { title = "GHG (CO2eq/kg protein)" y_title = "GHG (CO2eq/kg protein)" - }else if (tt == "percent_precipitation_used_for_feed_production"){ + } + else if (tt == "percent_precipitation_used_for_feed_production") { title = "% Precipitation use for feed production" y_title = "% Precipitation use for feed production" - }else if (tt == "total_water_use_m3"){ + } + else if (tt == "total_water_use_m3") { title = "Water use (m3/yr)" y_title = "Water use (m3/yr)" - }else if (tt == "total_water_use_m3_per_ha"){ + } + else if (tt == "total_water_use_m3_per_ha") { title = "Water use (m3/ha)" y_title = "Water use (m3/ha)" - }else if (tt == "total_water_use_m3_per_kg_fpcm"){ + } + else if (tt == "total_water_use_m3_per_kg_fpcm") { title = "Water use (m3/kg FPCM)" y_title = "Water use (m3/kg FPCM)" - }else if (tt == "total_water_use_m3_per_kg_meat"){ + } + else if (tt == "total_water_use_m3_per_kg_meat") { title = "Water use (m3/kg meat)" y_title = "Water use (m3/kg meat)" - }else if (tt == "total_water_use_m3_per_kg_protein"){ + } + else if (tt == "total_water_use_m3_per_kg_protein") { title = "Water (m3/kg protein)" y_title = "Water (m3/kg protein)" - }else if (tt == "carbon_stock_change_t_co2eq_per_year"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_year") { title = "Carbon stock changes (t CO2eq/yr)" y_title = "Carbon stock changes (t CO2eq/yr)" - }else if (tt == "carbon_stock_change_t_co2eq_per_ha_per_year"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_ha_per_year") { title = "Carbon stock changes (t CO2eq/ha/yr)" y_title = "Carbon stock changes (t CO2eq/ha/yr)" - }else if (tt == "carbon_stock_change_t_co2eq_per_fpcm"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_fpcm") { title = "Carbon stock changes (t CO2eq/kg FPCM)" y_title = "Carbon stock changes (t CO2eq/kg FPCM)" - }else if (tt == "carbon_stock_change_t_co2eq_per_meat"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_meat") { title = "Carbon stock changes (t CO2eq/kg meat)" y_title = "Carbon stock changes (t CO2eq/kg meat)" - }else if (tt == "carbon_stock_change_t_co2eq_per_protein"){ + } + else if (tt == "carbon_stock_change_t_co2eq_per_protein") { title = "Carbon stock changes (t CO2eq/kg protein)" y_title = "Carbon stock changes (t CO2eq/kg protein)" - }else if (tt == "total_milk_produced_energy_kcal_per_year"){ + } + else if (tt == "total_milk_produced_energy_kcal_per_year") { title = "Energy (kcal/kg FPCM)" y_title = "Energy (kcal/kg FPCM)" - }else if (tt == "total_meat_produced_energy_kcal_per_year"){ + } + else if (tt == "total_meat_produced_energy_kcal_per_year") { title = "Energy (kcal/kg meat)" y_title = "Energy (kcal/kg meat)" - }else if (tt == "total_milk_produced_ame_days_per_year"){ + } + else if (tt == "total_milk_produced_ame_days_per_year") { title = "AME (days/kg FPCM)" y_title = "AME (days/kg FPCM)" - }else if (tt == "total_meat_produced_ame_days_per_year"){ + } + else if (tt == "total_meat_produced_ame_days_per_year") { title = "AME (days/kg meat)" y_title = "AME (days/kg meat)" - }else if (tt == "total_carbon_balance_per_fpcm"){ + } + else if (tt == "total_carbon_balance_per_fpcm") { title = "Carbon balance (t CO2eq/kg FPCM)" y_title = "Carbon balance (t CO2eq/kg FPCM)" - }else if (tt == "total_carbon_balance_per_meat"){ + } + else if (tt == "total_carbon_balance_per_meat") { title = "Carbon balance (t CO2eq/kg meat)" y_title = "Carbon balance (t CO2eq/kg meat)" - }else if (tt == "total_carbon_balance_per_protein"){ + } + else if (tt == "total_carbon_balance_per_protein") { title = "Carbon balance (t CO2eq/kg protein)" y_title = "Carbon balance (t CO2eq/kg protein)" - }else{ + } + else { NA } - ggplot(datos, aes_string("scenario", y = tt, fill = "scenario")) + - geom_bar(stat = "identity", - position = "dodge", - width = 0.2) + - geom_text(aes(label = round(datos[,2],2)), position = position_dodge(width = 0.2), vjust = -0.5, size = 2) + - labs(x = "", y = y_title, title = title, fill = "Scenario") + - theme_bw() - - ggsave(paste0(oDir, tt, ".png"), width = 150, height = 100, units = "mm") - + output_list[[tt]] <- list( + datos = datos, + tt = tt, + title = title, + y_title = y_title + ) } - + return(output_list) } From 9a86e34fc13d00023bf49bb1bf447a64e3814296 Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Mon, 21 Oct 2024 22:28:44 +0200 Subject: [PATCH 11/28] Update ghg_emission.R --- R/ghg_emission.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/ghg_emission.R b/R/ghg_emission.R index c7ac880..0e29e70 100644 --- a/R/ghg_emission.R +++ b/R/ghg_emission.R @@ -97,7 +97,7 @@ ghg_emission <- function(para, energy_required, ghg_ipcc_data, land_required, ni #Computing methane enteric emission factor ef <- ym1%>% - mutate(enteric_methane_emissions = (ge_intake*(ym/100)*no_days)/55.65) #equation 10.21 + mutate(enteric_methane_emissions = ((ge_intake/no_days)*(ym/100)*no_days)/55.65) #equation 10.21 ############################################################################################################################ #Computing methane emission from manure management T2 From 5bf0fc588627fd868ca05df0fb0e77ea35e4a423 Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Tue, 19 Nov 2024 18:07:40 +0100 Subject: [PATCH 12/28] Resolve Conflict --- R/compare_scenario.R | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/R/compare_scenario.R b/R/compare_scenario.R index bad0b3e..4926e8c 100644 --- a/R/compare_scenario.R +++ b/R/compare_scenario.R @@ -285,19 +285,7 @@ compare_scenario <- function (baseRun, outFile, oDir2) total_carbon_balance_per_meat, total_carbon_balance_per_protein) } results <- scenarioList %>% dplyr::bind_rows() -<<<<<<< HEAD - - # Save results in excel - excel_output_path <- paste0(oDir2, "/scenario_comparison.xlsx") - write.xlsx(results, excel_output_path, overwrite = TRUE) - - # Generate plots - - for(i in 2:ncol(results)){ - -======= for (i in 2:ncol(results)) { ->>>>>>> cleaned_v0.6.0 datos <- results %>% select(1, all_of(i)) tt <- colnames(datos[2]) if (tt == "total_milk_produced_kg_fpcm_per_year") { @@ -489,4 +477,3 @@ compare_scenario <- function (baseRun, outFile, oDir2) } return(output_list) } - From 8a4eed32644d418b3e96df12bba8d10897dbed69 Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Tue, 19 Nov 2024 18:26:02 +0100 Subject: [PATCH 13/28] Remove input_mappings.R causing compiling errors --- data/input_mappings.R | 131 ------------------------------------------ 1 file changed, 131 deletions(-) delete mode 100644 data/input_mappings.R diff --git a/data/input_mappings.R b/data/input_mappings.R deleted file mode 100644 index 2b1c603..0000000 --- a/data/input_mappings.R +++ /dev/null @@ -1,131 +0,0 @@ -# 0) Use p_load to install if not present and load the packages #### -pacman::p_load(jsonlite,data.table,rmarkdown,knitr,RSQLite) - -# 1) Set location where field mappings will be saved #### -mappings_dir<-"data/mappings" -if(!dir.exists(mappings_dir)){ - dir.create(mappings_dir) -} - -# 2) Read in example json file ##### -json_data <- fromJSON("data/qt_example.json") - -# 3) Extract all fields and append columns for mapping links ##### -# 3.1) Simple fields ##### -json_names<-data.table(field_name=names(json_data), - class=sapply(json_data,base::class), - length=sapply(json_data,length)) - -simple_fields<-json_names[class!="data.frame" & length==1,field_name] -simple_fields<-json_data[json_names[class!="data.frame" & length==1,field_name]] - - -focal_name<-"input_json" - -field_connections<-list() -field_connections$simple_fields<-data.table(focal_file = focal_name, - focal_path =names(simple_fields), - focal_class=json_names[class!="data.frame" & length==1,class], - focal_example_value=unlist(simple_fields)) -# 3.2) Feed Items ##### -path<-"feed_items" -data<-json_data[[path]] - -field_connections[[path]]<-data.table(focal_file = focal_name, - focal_path =file.path(path,colnames(data)), - focal_class=apply(data,2,class), - focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) -# 3.3) Livestock ##### -path<-"livestock" -data<-json_data[[path]] - -field_connections[[path]]<-data.table(focal_file = focal_name, - focal_path =file.path(path,colnames(data)), - focal_class=apply(data,2,class), - focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) -# 3.4) Seasons ##### -path<-"seasons" -data<-json_data[[path]] - -field_connections[[path]]<-data.table(focal_file = focal_name, - focal_path =file.path(path,colnames(data)), - focal_class=apply(data,2,class), - focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) -# 3.5.1) Feed basket - season ##### -path<-"feed_basket/season_name" -data<-json_data[[dirname(path)]][[basename(path)]] - -field_connections[[path]]<-data.table(focal_file = focal_name, - focal_path =path, - focal_class=class(data), - focal_example_value=paste(unique(data),collapse = "|")) -# 3.5.2) Feed basket - feeds ##### -path<-"feed_basket/feeds" -data<-rbindlist(json_data[[dirname(path)]][[basename(path)]]) -data<-data[,!"livestock"] - -field_connections[[path]]<-data.table(focal_file = focal_name, - focal_path =file.path(path,colnames(data)), - focal_class=apply(data,2,class), - focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) -# 3.5.3) Feed basket - feeds - livestock ##### -path<-"feed_basket/feeds/livestock" -data<-rbindlist(rbindlist(json_data[[strsplit(path,"/")[[1]][1]]][[strsplit(path,"/")[[1]][2]]])[[basename(path)]]) - -field_connections[[path]]<-data.table(focal_file = focal_name, - focal_path =file.path(path,colnames(data)), - focal_class=apply(data,2,class), - focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) -# 3.6) Fertilizer ##### -path<-"fertilizer" -data<-json_data[[path]] - -field_connections[[path]]<-data.table(focal_file = focal_name, - focal_path =file.path(path,colnames(data)), - focal_class=apply(data,2,class), - focal_example_value=unlist(apply(data,2,FUN=function(x){paste(unique(x),collapse="|")}))) - -# 3.7) Merge tables and add fields ##### -field_connections<-rbindlist(field_connections) - -field_connections[,focal_type:=character() - ][,focal_userselected:= logical(), # Is the field user-selected in the UI? - ][,focal_free:=logical(), # Is the field free-text? (i.e. it is entered by the user and there is no lookup field) - ][,connected_file:= character(), # The filename of the connected object (focal_free==F) - ][,connected_path:= character(), # The path to the field in the connected object (focal_free==F) - ][,focal_keyfield:= character(), # The key field in the focal table (focal_free==F & focal_userselected==F) - ][,connected_keyfield:= character()] # The key field in the connected table (focal_free==F & focal_userselected==F) -# 4) Save results -fwrite(field_connections,file.path(mappings_dir,"input_mappings.csv")) - -# Define the meta file for the field_connections table - -field_connections_meta <- data.table( - field_name = c("focal_file", "focal_path", "focal_example_value", "focal_class", "focal_type","focal_userselected", - "focal_free","connected_file", "connected_path", "focal_keyfield", "connected_keyfield"), - field_type = c("character","character", "character", "character", "character", "logical","logical", - "character", "character", "character", "character"), - description = c( - "The filename of the object containing the focal field", - "The path to the focal field within the focal object", - "Example value(s) from the focal field", - "The class of data in the focal field", - "Enter one these values: - 1) standard_parameter - values that cannot be changed by users, for example parameters in IPCC tables. Sometimes referred to has hard_coded values by the team. - 2) user_parameter - descriptors of a study area - these filed might be prefilled, but can be changed by users (normally only needs to be done once for a new study area). - 3) user_input - user input, to be changed for each livestock enterprise type and scenario.", - "Is the field user selected or entered in the UI (TRUE/FALSE)? FALSE means that the field is auto-populated.", - "Is the field free-text (TRUE/FALSE)? (i.e. it is entered or selected by the user and there is no lookup field)", - "The filename of the connected object (use when focal_free field is FALSE)", - "The path to the field in the connected object (use when focal_free field is FALSE)", - "For a field that is autopopulated, what is the path of the key field in the **focal** object that is used to subset the connected table? - Use when focal_free field is FALSE AND focal_userselected is FALSE. - Example = the soil_k_value (focal_path) in the input_json comes from the sqlite Soil/k_value field (connected_path) and the user selected input_json soil_description field (e.g. Lixisol) is used to connect the sqlite Soil/k_value. - This means we enter the value soil_description in the focal_keyfield column and the value Soil/soil_desc in the connected_keyfield column.", - "For a field that is autopopulated, what is the path of the key field in the **connected** table that links to the focal object? - Use when focal_free field is FALSE AND focal_userselected is FALSE. - Example = the soil_k_value (focal_path) in the input_json comes from the sqlite Soil/k_value field (connected_path) and the user selected input_json soil_description field (e.g. Lixisol) is used to connect the sqlite Soil/k_value. - This means we enter the value soil_description in the focal_keyfield column and the value Soil/soil_desc in the connected_keyfield column") -) - -fwrite(field_connections_meta,file.path(mappings_dir,"input_mappings_metadata.csv")) From ac9ddb75983c8e45e18c85cc64b1817fcbcf3b9c Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Mon, 25 Nov 2024 21:10:00 +0100 Subject: [PATCH 14/28] Update nitrogen balance function to support missing fertilizer --- R/nitrogen_balance.R | 68 ++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 28 deletions(-) diff --git a/R/nitrogen_balance.R b/R/nitrogen_balance.R index d72f0eb..9d56dae 100644 --- a/R/nitrogen_balance.R +++ b/R/nitrogen_balance.R @@ -74,34 +74,46 @@ n_balance <- function(para, land_required, soil_erosion){ manure_fraction <- as.numeric(feed_selected$fraction_as_fertilizer) # Computing fertilizer rate - ammonia_n_frac <- ifelse(feed_selected$ammonia==0,0, - as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Ammonia"),]$fraction)) - ammonia_n_frac <- ifelse(!is.finite(ammonia_n_frac),0,ammonia_n_frac) - - ammonium_nitrate_n_frac <- ifelse(feed_selected$ammonium_nitrate==0,0, - as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Ammonium nitrate"),]$fraction)) - ammonium_nitrate_n_frac <- ifelse(!is.finite(ammonium_nitrate_n_frac),0,ammonium_nitrate_n_frac) - - ammonium_sulfate_n_frac <- ifelse(feed_selected$ammonium_sulfate==0,0, - as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Ammonium sulfate"),]$fraction)) - ammonium_sulfate_n_frac <- ifelse(!is.finite(ammonium_sulfate_n_frac),0,ammonium_sulfate_n_frac) - - dap_n_frac <- ifelse(feed_selected$dap==0,0, - as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "DAP"),]$fraction)) - dap_n_frac <- ifelse(!is.finite(dap_n_frac),0,dap_n_frac) - - n_solutions_n_frac <- ifelse(feed_selected$n_solutions==0,0, - as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "N solutions"),]$fraction)) - n_solutions_n_frac <- ifelse(!is.finite(n_solutions_n_frac),0,n_solutions_n_frac) - - npk_n_frac <- ifelse(feed_selected$npk==0,0, - as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "NPK"),]$fraction)) - npk_n_frac <- ifelse(!is.finite(npk_n_frac),0,npk_n_frac) - - urea_n_frac <- ifelse(feed_selected$urea==0,0, - as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Urea"),]$fraction)) - urea_n_frac <- ifelse(!is.finite(urea_n_frac),0,urea_n_frac) - + if( + length(para[["fertilizer"]]) == 0 + ) { + ammonia_n_frac <- 0 + ammonium_nitrate_n_frac <- 0 + ammonium_sulfate_n_frac <- 0 + dap_n_frac <- 0 + n_solutions_n_frac <- 0 + npk_n_frac <- 0 + urea_n_frac <- 0 + fertilizer_rate <- 0 + } else { + ammonia_n_frac <- ifelse(feed_selected$ammonia==0,0, + as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Ammonia"),]$fraction)) + ammonia_n_frac <- ifelse(!is.finite(ammonia_n_frac),0,ammonia_n_frac) + + ammonium_nitrate_n_frac <- ifelse(feed_selected$ammonium_nitrate==0,0, + as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Ammonium nitrate"),]$fraction)) + ammonium_nitrate_n_frac <- ifelse(!is.finite(ammonium_nitrate_n_frac),0,ammonium_nitrate_n_frac) + + ammonium_sulfate_n_frac <- ifelse(feed_selected$ammonium_sulfate==0,0, + as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Ammonium sulfate"),]$fraction)) + ammonium_sulfate_n_frac <- ifelse(!is.finite(ammonium_sulfate_n_frac),0,ammonium_sulfate_n_frac) + + dap_n_frac <- ifelse(feed_selected$dap==0,0, + as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "DAP"),]$fraction)) + dap_n_frac <- ifelse(!is.finite(dap_n_frac),0,dap_n_frac) + + n_solutions_n_frac <- ifelse(feed_selected$n_solutions==0,0, + as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "N solutions"),]$fraction)) + n_solutions_n_frac <- ifelse(!is.finite(n_solutions_n_frac),0,n_solutions_n_frac) + + npk_n_frac <- ifelse(feed_selected$npk==0,0, + as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "NPK"),]$fraction)) + npk_n_frac <- ifelse(!is.finite(npk_n_frac),0,npk_n_frac) + + urea_n_frac <- ifelse(feed_selected$urea==0,0, + as.numeric(para[["fertilizer"]][which(para[["fertilizer"]]$fertilizer_desc == "Urea"),]$fraction)) + urea_n_frac <- ifelse(!is.finite(urea_n_frac),0,urea_n_frac) + } fertilizer_rate <- (feed_selected$ammonia*ammonia_n_frac)+(feed_selected$ammonium_nitrate*ammonium_nitrate_n_frac)+(feed_selected$ammonium_sulfate*ammonium_sulfate_n_frac)+ (feed_selected$dap*dap_n_frac)+(feed_selected$n_solutions*n_solutions_n_frac)+(feed_selected$npk*npk_n_frac)+(feed_selected$urea*urea_n_frac) From e6f920f241a6ad1f455a091dde95ec329929416b Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Mon, 25 Nov 2024 21:10:28 +0100 Subject: [PATCH 15/28] Update merge output function to support missing Fertilizer --- R/merge_outputs.R | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/R/merge_outputs.R b/R/merge_outputs.R index bcfc995..b29ae40 100644 --- a/R/merge_outputs.R +++ b/R/merge_outputs.R @@ -412,7 +412,12 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ rice_production_methane_per_ha_kg_co2_e <- ifelse(area_required_on_farm_ha<0.001,0,rice_production_methane_tot_kg_co2_e/area_required_on_farm_ha) rice_production_methane_kg_co2_e_per_kg_fpcm <- rice_production_methane_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year - on_farm_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$farm_fertiliser_emission) + # quick fix for the case with no fertilizer + if (ghg_emissions[["fetilizer_ghg"]] == 0) { + on_farm_fertilizer_emission <- 0 + } else { + on_farm_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$farm_fertiliser_emission) + } on_farm_fertilizer_emission_per_ha_kg_co2_e <- ifelse(area_required_on_farm_ha<0.001,0,on_farm_fertilizer_emission/area_required_on_farm_ha) on_farm_fertilizer_emission_kg_co2_e_per_kg_fpcm <- on_farm_fertilizer_emission/total_milk_produced_kg_fpcm_per_year @@ -428,7 +433,12 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ rough_of_soil_indirect_N2O_per_ha_kg_co2_e <- ifelse(area_required_roughages_off_farm_ha<0.001,0,rough_of_soil_indirect_N2O_tot_kg_co2_e/area_required_roughages_off_farm_ha) rough_of_soil_indirect_N2O_kg_co2_e_per_kg_fpcm <- rough_of_soil_indirect_N2O_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year - rough_of_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$rough_of_fertiliser_emission) + # fix for the case with no fertilizer + if (ghg_emissions[["fetilizer_ghg"]] == 0) { + rough_of_fertilizer_emission <- 0 + } else { + rough_of_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$rough_of_fertiliser_emission) + } rough_of_fertilizer_emission_per_ha_kg_co2_e <- ifelse(area_required_roughages_off_farm_ha<0.001,0,rough_of_fertilizer_emission/area_required_roughages_off_farm_ha) rough_of_fertilizer_emission_kg_co2_e_per_kg_fpcm <- rough_of_fertilizer_emission/total_milk_produced_kg_fpcm_per_year @@ -444,7 +454,12 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ conc_of_soil_indirect_N2O_per_ha_kg_co2_e <- ifelse(area_required_concentrates_off_farm_ha<0.001,0,conc_of_soil_indirect_N2O_tot_kg_co2_e/area_required_concentrates_off_farm_ha) conc_of_soil_indirect_N2O_kg_co2_e_per_kg_fpcm <- conc_of_soil_indirect_N2O_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year - conc_of_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$conc_of_fertiliser_emission) + if (ghg_emissions[["fetilizer_ghg"]] == 0) { + conc_of_fertilizer_emission <- 0 + } else { + conc_of_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$conc_of_fertiliser_emission) + } + conc_of_fertilizer_emission_per_ha_kg_co2_e <- ifelse(area_required_concentrates_off_farm_ha<0.001,0,conc_of_fertilizer_emission/area_required_concentrates_off_farm_ha) conc_of_fertilizer_emission_kg_co2_e_per_kg_fpcm <- conc_of_fertilizer_emission/total_milk_produced_kg_fpcm_per_year @@ -460,7 +475,12 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ conc_ip_soil_indirect_N2O_per_ha_kg_co2_e <- ifelse(area_required_imported_concentrates_ha<0.001,0,conc_ip_soil_indirect_N2O_tot_kg_co2_e/area_required_imported_concentrates_ha) conc_ip_soil_indirect_N2O_kg_co2_e_per_kg_fpcm <- conc_ip_soil_indirect_N2O_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year - conc_ip_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$conc_ip_fertiliser_emission) + if (ghg_emissions[["fetilizer_ghg"]] == 0) { + conc_ip_fertilizer_emission <- 0 + } else { + conc_ip_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$conc_ip_fertiliser_emission) + } + conc_ip_fertilizer_emission_per_ha_kg_co2_e <- ifelse(area_required_imported_concentrates_ha<0.001,0,conc_ip_fertilizer_emission/area_required_imported_concentrates_ha) conc_ip_fertilizer_emission_kg_co2_e_per_kg_fpcm <- conc_ip_fertilizer_emission/total_milk_produced_kg_fpcm_per_year From 89711ad505a7d490d3acc263353c2d84afcada5d Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Mon, 25 Nov 2024 21:10:50 +0100 Subject: [PATCH 16/28] update Description --- DESCRIPTION | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 57c8b76..dc1dcb7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -35,7 +35,8 @@ Imports: utils, rlang, stringr, - ggplot2 + ggplot2, + openxlsx Suggests: knitr, rmarkdown, From 02ae588debed0a1b857fdc9599cc6a469506dd25 Mon Sep 17 00:00:00 2001 From: ahmedjoubest Date: Thu, 28 Nov 2024 10:54:36 +0100 Subject: [PATCH 17/28] debug when fertilizer exists --- R/merge_outputs.R | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/R/merge_outputs.R b/R/merge_outputs.R index b29ae40..2f1e648 100644 --- a/R/merge_outputs.R +++ b/R/merge_outputs.R @@ -411,9 +411,8 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ rice_production_methane_tot_kg_co2_e <- rice_production_methane*methane rice_production_methane_per_ha_kg_co2_e <- ifelse(area_required_on_farm_ha<0.001,0,rice_production_methane_tot_kg_co2_e/area_required_on_farm_ha) rice_production_methane_kg_co2_e_per_kg_fpcm <- rice_production_methane_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year - # quick fix for the case with no fertilizer - if (ghg_emissions[["fetilizer_ghg"]] == 0) { + if (!is.list(ghg_emissions[["fetilizer_ghg"]])) { on_farm_fertilizer_emission <- 0 } else { on_farm_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$farm_fertiliser_emission) @@ -434,7 +433,7 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ rough_of_soil_indirect_N2O_kg_co2_e_per_kg_fpcm <- rough_of_soil_indirect_N2O_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year # fix for the case with no fertilizer - if (ghg_emissions[["fetilizer_ghg"]] == 0) { + if (!is.list(ghg_emissions[["fetilizer_ghg"]])) { rough_of_fertilizer_emission <- 0 } else { rough_of_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$rough_of_fertiliser_emission) @@ -454,7 +453,7 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ conc_of_soil_indirect_N2O_per_ha_kg_co2_e <- ifelse(area_required_concentrates_off_farm_ha<0.001,0,conc_of_soil_indirect_N2O_tot_kg_co2_e/area_required_concentrates_off_farm_ha) conc_of_soil_indirect_N2O_kg_co2_e_per_kg_fpcm <- conc_of_soil_indirect_N2O_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year - if (ghg_emissions[["fetilizer_ghg"]] == 0) { + if (!is.list(ghg_emissions[["fetilizer_ghg"]])) { conc_of_fertilizer_emission <- 0 } else { conc_of_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$conc_of_fertiliser_emission) @@ -475,7 +474,7 @@ combineOutputs <- function(para, feed_basket_quality, energy_required, land_requ conc_ip_soil_indirect_N2O_per_ha_kg_co2_e <- ifelse(area_required_imported_concentrates_ha<0.001,0,conc_ip_soil_indirect_N2O_tot_kg_co2_e/area_required_imported_concentrates_ha) conc_ip_soil_indirect_N2O_kg_co2_e_per_kg_fpcm <- conc_ip_soil_indirect_N2O_tot_kg_co2_e/total_milk_produced_kg_fpcm_per_year - if (ghg_emissions[["fetilizer_ghg"]] == 0) { + if (!is.list(ghg_emissions[["fetilizer_ghg"]])) { conc_ip_fertilizer_emission <- 0 } else { conc_ip_fertilizer_emission <- sum(ghg_emissions[["fetilizer_ghg"]][["fertlizer_emission_by_crop"]]$conc_ip_fertiliser_emission) From 6d94995f3f59fb3c98893595f541a206bae5c616 Mon Sep 17 00:00:00 2001 From: Emmanuel Mwema <79073013+M-Emmanuel@users.noreply.github.com> Date: Thu, 28 Nov 2024 15:51:12 +0300 Subject: [PATCH 18/28] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ac85037..ec5c36a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Comprehensive Livestock Environmental Assessment for Improved Nutrition, a Secured Environment, and Sustainable Development along Livestock and Fish Value Chains (CLEANED) +# Comprehensive Livestock Environmental Assessment for Improved Nutrition, a Secured Environment, and Sustainable Development along Livestock Value Chains (CLEANED) -The goal of cleaned is to assess changes from transforming livestock value chains. +The goal of cleaned is to assess changes from transforming livestock value chains by prioritising profitable, environmentally sustainable and inclusive livestock interventions. ## Installation From a662b6976b9fb4652a0c60bebfa9f80b987711f3 Mon Sep 17 00:00:00 2001 From: Emmanuel Mwema <79073013+M-Emmanuel@users.noreply.github.com> Date: Thu, 28 Nov 2024 15:52:58 +0300 Subject: [PATCH 19/28] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ec5c36a..e7f0640 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Comprehensive Livestock Environmental Assessment for Improved Nutrition, a Secured Environment, and Sustainable Development along Livestock Value Chains (CLEANED) +# Inclusive and Comprehensive Livestock Environmental Assessment for Improved Nutrition, a Secured Environment, and Sustainable Development along Livestock Value Chains (I-CLEANED) -The goal of cleaned is to assess changes from transforming livestock value chains by prioritising profitable, environmentally sustainable and inclusive livestock interventions. +The goal of I-cleaned is to assess changes from transforming livestock value chains by prioritising profitable, environmentally sustainable and inclusive livestock interventions. ## Installation From 6d6a29d683859dcb7f30ae984924ad72bb8386d8 Mon Sep 17 00:00:00 2001 From: Emmanuel Mwema <79073013+M-Emmanuel@users.noreply.github.com> Date: Thu, 28 Nov 2024 16:00:57 +0300 Subject: [PATCH 20/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e7f0640..62b9b1a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Inclusive and Comprehensive Livestock Environmental Assessment for Improved Nutrition, a Secured Environment, and Sustainable Development along Livestock Value Chains (I-CLEANED) -The goal of I-cleaned is to assess changes from transforming livestock value chains by prioritising profitable, environmentally sustainable and inclusive livestock interventions. +The goal of I-CLEANED is to assess changes from transforming livestock value chains by prioritising profitable, environmentally sustainable and inclusive livestock interventions. ## Installation From 28e116a69f1ed937ec22118a1cfa8848a84e983a Mon Sep 17 00:00:00 2001 From: pstewarda Date: Tue, 3 Dec 2024 20:52:34 +0300 Subject: [PATCH 21/28] developing emissions loop --- R/v37 loop.R | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 R/v37 loop.R diff --git a/R/v37 loop.R b/R/v37 loop.R new file mode 100644 index 0000000..43a4d28 --- /dev/null +++ b/R/v37 loop.R @@ -0,0 +1,194 @@ +pacman::p_load(data.table,readxl,cleaned,jsonlite) + +# V27 raw data +file<-file.choose() +data <- readxl::read_excel(file,sheet=1) + +data <- readxl::read_excel(file,sheet=1) +ls_param <- readxl::read_excel(file2,sheet="Livestockparameters") +herd <- data.table(readxl::read_excel(file2,sheet="milk-bodyweight")) +feed_prop <- readxl::read_excel(file2,sheet="Feedproportions") + +v37_feed_items<-data.table(readxl::read_excel(file2,sheet="Feed_items"))[,1:6] +v37_feed_type<-unique(data.table(readxl::read_excel(file2,sheet="feed_type"))[,1:6])[order(feed_type_code)] + +# V37 - Merge feed_items & feed type +v37_feed_items_merge<-merge(v37_feed_items,v37_feed_type,by="feed_type_code",all.x=T) + +# Create input object +# Input mappings +file3<-file.choose() +i_map <- readxl::read_excel(file3,sheet=1) + +# Sarah Data +file2<-file.choose() + +# Read in parameter tables +lkp_livetype<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_livetype.csv") +lkp_manureman<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_manureman.csv") +lkp_manureman<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_manureman.csv") + +# Read in json +file<-"https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/shared_folder/study_objects/Study_2.json" +template <- fromJSON(file) +colnames(template$livestock) + +# Cleaned Template - Feed Items +feed_items<-template$feed_items + + +# Fixed Parameters + +# Livestock +mm_code<-"storage" +mm_des<-lkp_manureman[manureman_code==mm_code,manureman_desc] + +mm_code2<-"pasture" +mm_des2<-lkp_manureman[manureman_code==mm_code,manureman_desc] + +annual_growth<-0 +annual_wool<-0 +manure_in_stable<-1 +manure_in_non_roofed_enclosure<-0 +manure_in_field<-0 +manure_onfarm_fraction<-0 +manure_sales_fraction<-0 +body_weight_weaning<-0 +body_weight_year_one<-0 +adult_weight<-600 +work_hour<-0 +piglets_relying_on_milk<-0 + +# Feed_Items +feed_fixed<-c( + slope=1, + slope_desc="Flat (0-5%)", + slope_p_factor=0.11, + slope_length=15, + water_regime=0, + n_content=0, + cultivation_period=0, + ecosystem_type=0, + organic_amendment=0, + cut_carry_fraction=0, + fraction_as_fertilizer=0, # Needs to be distributed by crop + fraction_as_manure=0, # Needs to be distributed by crop + n_fertilizer=0, + urea=0, + npk=0, + dap=0, + ammonium_nitrate=0, + ammomium_sulfate=0, + n_solutions=0, + ammonia=0 +) + +fi_cols<-colnames(feed_items) + +# Add these to fixed items +zero_cols<-fi_cols[grep("trees|dbh|diameter_",fi_cols)] + + + + +# select farm +farms<-na.omit(unique(herd$Ids)) +i<-1 + +for(i in 1:length(farms)){ +farm<-farms[i] + +## 1) Herd #### +# Make a blank template to populate +livestock<-data.table(template$livestock[1,]) +livestock[1,1:ncol(livestock)]<-NA + +# Subset v37 data to selected farm +livestock_37<-herd[Ids==farm] + +# Loop through herds on the farm +for(j in 1:nrow(livestock_37)){ +cat(farm,i,"/",length(farms),herd,j,"/",nrow(livestock_37)) + +# Subset herds +herd_1<-livestock_37[j] + +# Merge lkp_livetype +l_code<-herd_1$livetype_code +livestock$livetype_code[j]<-l_code +livestock$livetype_code<-as.integer(livestock$livetype_code) + +mergedat<-lkp_livetype[livetype_code==l_code] + +cols_m<-colnames(mergedat) +cols_m<-cols_m[cols_m != "livetype_code"] +cols_l<-colnames(livestock)[!colnames(livestock) %in% cols_m] +livestock<-livestock[,cols_l,with=F] + +livestock<-merge(livestock,mergedat,by="livetype_code",all.x = T) + +# Manure +livestock$manureman_stable<-mm_des +livestock$manureman_onfarm_grazing<-mm_des2 +livestock$manureman_non_roofed_enclosure<-0 +livestock$manureman_offfarm_grazing<-mm_des2 + +# V37 herd data +cols_m<-colnames(herd_1) +livestock$herd_composition<-herd_1$number +livestock$body_weight<-herd_1$body_weight +livestock$annual_milk<-herd_1$annual_milk +livestock$time_in_stable<-herd_1$time_in_stable +livestock$time_in_onfarm_grazing<-herd_1$time_in_onfarm_grazing +livestock$time_in_offfarm_grazing<-herd_1$time_in_offfarm_grazing +livestock$time_in_non_roofed_enclosure<-herd_1$time_in_non_roofed_enclosure +livestock$distance_to_pasture<-herd_1$distance_to_pasture + +# Set fixed parameters we have assumed +livestock$annual_growth<-annual_growth +livestock$annual_wool<-annual_wool +livestock$annual_growth<-annual_growth +livestock$annual_wool<-annual_wool +livestock$manure_in_stable<-manure_in_stable +livestock$manure_in_non_roofed_enclosure<-manure_in_non_roofed_enclosure +livestock$manure_in_field<- manure_in_field +livestock$manure_onfarm_fraction<-manure_onfarm_fraction +livestock$manure_sales_fraction<-manure_sales_fraction +livestock$body_weight_weaning<-body_weight_weaning +livestock$adult_weight<-adult_weight +livestock$work_hour<-work_hour +livestock$piglets_relying_on_milk<-piglets_relying_on_milk +livestock$body_weight_year_one<-body_weight_year_one + +ipcc_new<-c( +"ipcc_ef_category_t1", +"ipcc_ef_category_t2", +"ipcc_meth_man_category", +"ipcc_n_exc_category" +) + +ipcc_old<-c( +"ipcc_meth_ef_t1", +"ipcc_meth_ef_t2", +"ipcc_meth_man", +"ipcc_meth_exc" +) + +livestock<-livestock[,!ipcc_new,with = F] +setnames(livestock,ipcc_old,ipcc_new) + +# 2) Feed Items #### +# The items fed come from the feedproprotions table in the v37 excel (cols) +# Sometimes these are split by rows of the herd +# We can just supply the big data + +# 3) Fertilizer #### +# Blank +# 4) Seasons #### +# length = +# name = +# 5) Feed basket #### +# + +} +} From 3fbfaff61b26d9a08e29c42cdf5f31fe850a360a Mon Sep 17 00:00:00 2001 From: Emmanuel Mwema <79073013+M-Emmanuel@users.noreply.github.com> Date: Wed, 4 Dec 2024 10:01:10 +0300 Subject: [PATCH 22/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62b9b1a..162b2b2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Inclusive and Comprehensive Livestock Environmental Assessment for Improved Nutrition, a Secured Environment, and Sustainable Development along Livestock Value Chains (I-CLEANED) -The goal of I-CLEANED is to assess changes from transforming livestock value chains by prioritising profitable, environmentally sustainable and inclusive livestock interventions. +The goal of I-CLEANED is to assess changes from transforming livestock value chains by prioritizing profitable, environmentally sustainable and inclusive livestock interventions. ## Installation From ebf33fb800649dd7a52a61da23f7c15863c4e204 Mon Sep 17 00:00:00 2001 From: pstewarda Date: Mon, 9 Dec 2024 14:49:34 +0300 Subject: [PATCH 23/28] script to process v37 kenya data created --- R/misc/v37 loop.R | 229 ++++++++++++++++++++++++++++++++++++++++++++++ R/v37 loop.R | 194 --------------------------------------- 2 files changed, 229 insertions(+), 194 deletions(-) create mode 100644 R/misc/v37 loop.R delete mode 100644 R/v37 loop.R diff --git a/R/misc/v37 loop.R b/R/misc/v37 loop.R new file mode 100644 index 0000000..a00c7c4 --- /dev/null +++ b/R/misc/v37 loop.R @@ -0,0 +1,229 @@ +pacman::p_load(data.table,readxl,cleaned,jsonlite) + +# 1) Load Data #### +## 1.1) V37 data ##### +file<-"data/v37/Kenya NPA data.xlsx" +data <- readxl::read_excel(file,sheet=1) + +data <- readxl::read_excel(file,sheet=1) +ls_param <- data.table(readxl::read_excel(file,sheet="Livestockparameters")) +herd <- data.table(readxl::read_excel(file,sheet="milk-bodyweight")) + +v37_feed_items<-data.table(readxl::read_excel(file,sheet="Feed_items")) +v37_feed_type<-unique(data.table(readxl::read_excel(file,sheet="feed_type")))[order(feed_type_code)] + +# V37 - Merge feed_items & feed type +v37_feed_items_merge<-merge(v37_feed_items,v37_feed_type,by="feed_type_code",all.x=T) + +# Feed basket +v37_feed_basket <- data.table(readxl::read_excel(file,sheet="Feedproportions")) +v37_feed_basket[,livetype_code:=tolower(livetype_code)] + +# Remove duplicates +v37_feed_basket<-unique(v37_feed_basket) + +v37_feed_basket<-melt(v37_feed_basket, + id.vars = c("Ids","v37_livestock_type","livetype_code","livetype_desc"), + variable.name = "feed_item_code", + value.name = "allocation") + +# Check proportions sum to 1 +v37_feed_basket<-v37_feed_basket[allocation!=0][order(Ids,livetype_code)][,total:=sum(allocation),by=.(Ids,livetype_code)] +unique(v37_feed_basket[total==2,.(Ids,livetype_code,total)]) + +v37_feed_basket<-v37_feed_basket[,.(Ids,livetype_code,feed_item_code,allocation) + ][,allocation:=allocation*100 + ][,feed_item_code:=as.numeric(as.character(feed_item_code))] + +# Add feed type code +v37_feed_basket<-merge(v37_feed_basket,v37_feed_items[,.(feed_item_code,feed_type_code)],by="feed_item_code",all.x=T) +v37_feed_basket[is.na(feed_type_code)] + +## 1.2) Read in parameter tables ##### +lkp_livetype<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_livetype.csv") +lkp_manureman<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_manureman.csv") + +## 1.3) Input template ##### +file<-"https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/shared_folder/study_objects/Study_2.json" +template <- fromJSON(file) +colnames(template$livestock) + + +feed_items<-data.table(template$feed_items) +fertilizer<-data.table(template$fertilizer)[0,] + +# 2) Set "fixed" parameters #### + +## 2.0) "Simple" fields ##### +template_names<-data.table(field_name=names(template), + class=sapply(template,base::class), + length=sapply(template,length)) + +simple_fields<-template_names[length==1,field_name] + +system(paste("echo", shQuote(paste(simple_fields, collapse = "\t")), "| pbcopy")) +## 2.1) Livestock ##### +mm_code<-"storage" +mm_des<-lkp_manureman[manureman_code==mm_code,manureman_desc] + +mm_code2<-"pasture" +mm_des2<-lkp_manureman[manureman_code==mm_code,manureman_desc] + +livestock_fixed<-c( +manureman_stable=mm_des, +manureman_onfarm_grazing=mm_des2, +manureman_non_roofed_enclosure=0, +manureman_offfarm_grazing=mm_des2, +annual_growth=0, +annual_wool=0, +manure_in_stable=1, +manure_in_non_roofed_enclosure=0, +manure_in_field=0, +manure_onfarm_fraction=0, +manure_sales_fraction=0, +body_weight_weaning=0, +body_weight_year_one=0, +adult_weight=600, +work_hour=0, +piglets_relying_on_milk=0 +) + +## 2.2) Feed_Items ##### +feed_fixed<-c( + slope=1, + slope_desc="Flat (0-5%)", + slope_p_factor=0.11, + slope_length=15, + water_regime=0, + n_content=0, + cultivation_period=0, + ecosystem_type=0, + organic_amendment=0, + cut_carry_fraction=0, + fraction_as_fertilizer=0, # Needs to be distributed by crop + fraction_as_manure=0, # Needs to be distributed by crop + n_fertilizer=0, + urea=0, + npk=0, + dap=0, + ammonium_nitrate=0, + ammonium_sulfate=0, + n_solutions=0, + ammonia=0, + time_horizon=0 +) + +fi_cols<-colnames(feed_items) +zero_cols<-fi_cols[grep("trees|dbh|diameter_",fi_cols)] +names(zero_cols)<-zero_cols +zero_cols[1:length(zero_cols)]<-0 +feed_fixed<-c(feed_fixed,zero_cols) + + ### 2.2.1) Add fixed items to input template ##### + for(k in 1:length(feed_fixed)){ + variable<-names(feed_fixed)[k] + v37_feed_items_merge[,(variable):=feed_fixed[k]] + } + + # Check all cols in template are present + colnames(feed_items)[!colnames(feed_items) %in% colnames(v37_feed_items_merge)] +## 2.3) Seasons ##### + seasons<-data.frame(season_length="season_name",season_length=180) + +# 3) Loop throught farms #### +# unique farm ids +farms<-na.omit(unique(herd$Ids)) + +i<-1 + +for(i in 1:length(farms)){ + farm<-farms[i] + + ## 3.1) Herds ##### + # Make a blank herd template to populate + livestock<-data.table(template$livestock[1,]) + livestock[1,1:ncol(livestock)]<-NA + + # Subset v37 data to selected farm + livestock_37<-herd[Ids==farm] + + # Loop through herds on the farm + for(j in 1:nrow(livestock_37)){ + cat(farm,i,"/",length(farms),herd,j,"/",nrow(livestock_37)) + + # Subset herds + herd_1<-livestock_37[j] + + # Merge lkp_livetype + l_code<-herd_1$livetype_code + livestock$livetype_code[j]<-l_code + livestock$livetype_code<-as.integer(livestock$livetype_code) + + mergedat<-lkp_livetype[livetype_code==l_code] + + cols_m<-colnames(mergedat) + cols_m<-cols_m[cols_m != "livetype_code"] + cols_l<-colnames(livestock)[!colnames(livestock) %in% cols_m] + livestock<-livestock[,cols_l,with=F] + + livestock<-merge(livestock,mergedat,by="livetype_code",all.x = T) + + # Insert farm specific V37 herd data + cols_m<-colnames(herd_1) + livestock$herd_composition<-herd_1$number + livestock$body_weight<-herd_1$body_weight + livestock$annual_milk<-herd_1$annual_milk + livestock$time_in_stable<-herd_1$time_in_stable + livestock$time_in_onfarm_grazing<-herd_1$time_in_onfarm_grazing + livestock$time_in_offfarm_grazing<-herd_1$time_in_offfarm_grazing + livestock$time_in_non_roofed_enclosure<-herd_1$time_in_non_roofed_enclosure + livestock$distance_to_pasture<-herd_1$distance_to_pasture + + # Add fixed parameters + for(k in 1:length(livestock_fixed)){ + variable<-names(livestock_fixed)[k] + livestock[,(variable):=livestock_fixed[k]] + } + + # Rename ipcc parameter columns + ipcc_new<-c( + "ipcc_ef_category_t1", + "ipcc_ef_category_t2", + "ipcc_meth_man_category", + "ipcc_n_exc_category" + ) + + ipcc_old<-c( + "ipcc_meth_ef_t1", + "ipcc_meth_ef_t2", + "ipcc_meth_man", + "ipcc_meth_exc" + ) + + livestock<-livestock[,!ipcc_new,with = F] + setnames(livestock,ipcc_old,ipcc_new) + + ## 3.2) Feed Items #### + # Already created in section 2.2 + ## 3.3 Fertilizer ##### + # Blank table created in section 1.3 + + # 4) Feed basket #### + + + ## 4.1) Seasons ##### + # Created in section 2.3 + + ## 4.2) Feeds ##### + + feed_basket<-v37_feed_basket[Ids==farm] + feed_basket<-feed_basket[,.(livestock=list(data.frame(livetype_code=livetype_code,allocation=allocation))),by=.(feed_item_code,feed_type_code)] + + ## 4.3) Combine Season and Feeds ##### + feed_basket<-data.frame(feeds=feed_basket,seasons=seasons) + + # 5) Join sections into list structure #### + + + } +} diff --git a/R/v37 loop.R b/R/v37 loop.R deleted file mode 100644 index 43a4d28..0000000 --- a/R/v37 loop.R +++ /dev/null @@ -1,194 +0,0 @@ -pacman::p_load(data.table,readxl,cleaned,jsonlite) - -# V27 raw data -file<-file.choose() -data <- readxl::read_excel(file,sheet=1) - -data <- readxl::read_excel(file,sheet=1) -ls_param <- readxl::read_excel(file2,sheet="Livestockparameters") -herd <- data.table(readxl::read_excel(file2,sheet="milk-bodyweight")) -feed_prop <- readxl::read_excel(file2,sheet="Feedproportions") - -v37_feed_items<-data.table(readxl::read_excel(file2,sheet="Feed_items"))[,1:6] -v37_feed_type<-unique(data.table(readxl::read_excel(file2,sheet="feed_type"))[,1:6])[order(feed_type_code)] - -# V37 - Merge feed_items & feed type -v37_feed_items_merge<-merge(v37_feed_items,v37_feed_type,by="feed_type_code",all.x=T) - -# Create input object -# Input mappings -file3<-file.choose() -i_map <- readxl::read_excel(file3,sheet=1) - -# Sarah Data -file2<-file.choose() - -# Read in parameter tables -lkp_livetype<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_livetype.csv") -lkp_manureman<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_manureman.csv") -lkp_manureman<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_manureman.csv") - -# Read in json -file<-"https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/shared_folder/study_objects/Study_2.json" -template <- fromJSON(file) -colnames(template$livestock) - -# Cleaned Template - Feed Items -feed_items<-template$feed_items - - -# Fixed Parameters - -# Livestock -mm_code<-"storage" -mm_des<-lkp_manureman[manureman_code==mm_code,manureman_desc] - -mm_code2<-"pasture" -mm_des2<-lkp_manureman[manureman_code==mm_code,manureman_desc] - -annual_growth<-0 -annual_wool<-0 -manure_in_stable<-1 -manure_in_non_roofed_enclosure<-0 -manure_in_field<-0 -manure_onfarm_fraction<-0 -manure_sales_fraction<-0 -body_weight_weaning<-0 -body_weight_year_one<-0 -adult_weight<-600 -work_hour<-0 -piglets_relying_on_milk<-0 - -# Feed_Items -feed_fixed<-c( - slope=1, - slope_desc="Flat (0-5%)", - slope_p_factor=0.11, - slope_length=15, - water_regime=0, - n_content=0, - cultivation_period=0, - ecosystem_type=0, - organic_amendment=0, - cut_carry_fraction=0, - fraction_as_fertilizer=0, # Needs to be distributed by crop - fraction_as_manure=0, # Needs to be distributed by crop - n_fertilizer=0, - urea=0, - npk=0, - dap=0, - ammonium_nitrate=0, - ammomium_sulfate=0, - n_solutions=0, - ammonia=0 -) - -fi_cols<-colnames(feed_items) - -# Add these to fixed items -zero_cols<-fi_cols[grep("trees|dbh|diameter_",fi_cols)] - - - - -# select farm -farms<-na.omit(unique(herd$Ids)) -i<-1 - -for(i in 1:length(farms)){ -farm<-farms[i] - -## 1) Herd #### -# Make a blank template to populate -livestock<-data.table(template$livestock[1,]) -livestock[1,1:ncol(livestock)]<-NA - -# Subset v37 data to selected farm -livestock_37<-herd[Ids==farm] - -# Loop through herds on the farm -for(j in 1:nrow(livestock_37)){ -cat(farm,i,"/",length(farms),herd,j,"/",nrow(livestock_37)) - -# Subset herds -herd_1<-livestock_37[j] - -# Merge lkp_livetype -l_code<-herd_1$livetype_code -livestock$livetype_code[j]<-l_code -livestock$livetype_code<-as.integer(livestock$livetype_code) - -mergedat<-lkp_livetype[livetype_code==l_code] - -cols_m<-colnames(mergedat) -cols_m<-cols_m[cols_m != "livetype_code"] -cols_l<-colnames(livestock)[!colnames(livestock) %in% cols_m] -livestock<-livestock[,cols_l,with=F] - -livestock<-merge(livestock,mergedat,by="livetype_code",all.x = T) - -# Manure -livestock$manureman_stable<-mm_des -livestock$manureman_onfarm_grazing<-mm_des2 -livestock$manureman_non_roofed_enclosure<-0 -livestock$manureman_offfarm_grazing<-mm_des2 - -# V37 herd data -cols_m<-colnames(herd_1) -livestock$herd_composition<-herd_1$number -livestock$body_weight<-herd_1$body_weight -livestock$annual_milk<-herd_1$annual_milk -livestock$time_in_stable<-herd_1$time_in_stable -livestock$time_in_onfarm_grazing<-herd_1$time_in_onfarm_grazing -livestock$time_in_offfarm_grazing<-herd_1$time_in_offfarm_grazing -livestock$time_in_non_roofed_enclosure<-herd_1$time_in_non_roofed_enclosure -livestock$distance_to_pasture<-herd_1$distance_to_pasture - -# Set fixed parameters we have assumed -livestock$annual_growth<-annual_growth -livestock$annual_wool<-annual_wool -livestock$annual_growth<-annual_growth -livestock$annual_wool<-annual_wool -livestock$manure_in_stable<-manure_in_stable -livestock$manure_in_non_roofed_enclosure<-manure_in_non_roofed_enclosure -livestock$manure_in_field<- manure_in_field -livestock$manure_onfarm_fraction<-manure_onfarm_fraction -livestock$manure_sales_fraction<-manure_sales_fraction -livestock$body_weight_weaning<-body_weight_weaning -livestock$adult_weight<-adult_weight -livestock$work_hour<-work_hour -livestock$piglets_relying_on_milk<-piglets_relying_on_milk -livestock$body_weight_year_one<-body_weight_year_one - -ipcc_new<-c( -"ipcc_ef_category_t1", -"ipcc_ef_category_t2", -"ipcc_meth_man_category", -"ipcc_n_exc_category" -) - -ipcc_old<-c( -"ipcc_meth_ef_t1", -"ipcc_meth_ef_t2", -"ipcc_meth_man", -"ipcc_meth_exc" -) - -livestock<-livestock[,!ipcc_new,with = F] -setnames(livestock,ipcc_old,ipcc_new) - -# 2) Feed Items #### -# The items fed come from the feedproprotions table in the v37 excel (cols) -# Sometimes these are split by rows of the herd -# We can just supply the big data - -# 3) Fertilizer #### -# Blank -# 4) Seasons #### -# length = -# name = -# 5) Feed basket #### -# - -} -} From 82fdbf538c354b25c73c7a3e9a512ad94237e278 Mon Sep 17 00:00:00 2001 From: pstewarda Date: Wed, 11 Dec 2024 13:35:54 +0300 Subject: [PATCH 24/28] further development, correct parameter objects in the inst/extdata used --- R/misc/v37 loop.R | 451 +++++++++++++++++++++++++++------------------- 1 file changed, 270 insertions(+), 181 deletions(-) diff --git a/R/misc/v37 loop.R b/R/misc/v37 loop.R index a00c7c4..d152c35 100644 --- a/R/misc/v37 loop.R +++ b/R/misc/v37 loop.R @@ -1,142 +1,168 @@ -pacman::p_load(data.table,readxl,cleaned,jsonlite) +pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) # 1) Load Data #### -## 1.1) V37 data ##### -file<-"data/v37/Kenya NPA data.xlsx" -data <- readxl::read_excel(file,sheet=1) + ## 1.1) V37 data ##### + file<-"data/v37/Kenya NPA data.xlsx" + # data <- readxl::read_excel(file,sheet=1) -data <- readxl::read_excel(file,sheet=1) -ls_param <- data.table(readxl::read_excel(file,sheet="Livestockparameters")) -herd <- data.table(readxl::read_excel(file,sheet="milk-bodyweight")) + herd <- data.table(readxl::read_excel(file,sheet="milk-bodyweight")) + herd[,livetype_code:=as.character(livetype_code)] -v37_feed_items<-data.table(readxl::read_excel(file,sheet="Feed_items")) -v37_feed_type<-unique(data.table(readxl::read_excel(file,sheet="feed_type")))[order(feed_type_code)] + v37_feed_items<-data.table(readxl::read_excel(file,sheet="Feed_items")) + v37_feed_items$intercrop<-as.numeric(0) + v37_feed_type<-unique(data.table(readxl::read_excel(file,sheet="feed_type")))[order(feed_type_code)] -# V37 - Merge feed_items & feed type -v37_feed_items_merge<-merge(v37_feed_items,v37_feed_type,by="feed_type_code",all.x=T) + # V37 - Merge feed_items & feed type + v37_feed_items_merge<-merge(v37_feed_items,v37_feed_type,by="feed_type_code",all.x=T) -# Feed basket -v37_feed_basket <- data.table(readxl::read_excel(file,sheet="Feedproportions")) -v37_feed_basket[,livetype_code:=tolower(livetype_code)] + # Feed basket + v37_feed_basket <- data.table(readxl::read_excel(file,sheet="Feedproportions")) + v37_feed_basket[,livetype_code:=tolower(livetype_code)] -# Remove duplicates -v37_feed_basket<-unique(v37_feed_basket) + # Remove duplicates + v37_feed_basket<-unique(v37_feed_basket) -v37_feed_basket<-melt(v37_feed_basket, - id.vars = c("Ids","v37_livestock_type","livetype_code","livetype_desc"), - variable.name = "feed_item_code", - value.name = "allocation") + v37_feed_basket<-melt(v37_feed_basket, + id.vars = c("Ids","v37_livestock_type","livetype_code","livetype_desc"), + variable.name = "feed_item_code", + value.name = "allocation") -# Check proportions sum to 1 -v37_feed_basket<-v37_feed_basket[allocation!=0][order(Ids,livetype_code)][,total:=sum(allocation),by=.(Ids,livetype_code)] -unique(v37_feed_basket[total==2,.(Ids,livetype_code,total)]) + # Check proportions sum to 1 + v37_feed_basket<-v37_feed_basket[allocation!=0][order(Ids,livetype_code)][,total:=sum(allocation),by=.(Ids,livetype_code)] + unique(v37_feed_basket[total==2,.(Ids,livetype_code,total)]) -v37_feed_basket<-v37_feed_basket[,.(Ids,livetype_code,feed_item_code,allocation) - ][,allocation:=allocation*100 - ][,feed_item_code:=as.numeric(as.character(feed_item_code))] + v37_feed_basket<-v37_feed_basket[,.(Ids,livetype_code,feed_item_code,allocation) + ][,allocation:=allocation*100 + ][,feed_item_code:=as.numeric(as.character(feed_item_code))] -# Add feed type code -v37_feed_basket<-merge(v37_feed_basket,v37_feed_items[,.(feed_item_code,feed_type_code)],by="feed_item_code",all.x=T) -v37_feed_basket[is.na(feed_type_code)] + # Add feed type code + v37_feed_basket<-merge(v37_feed_basket,v37_feed_items[,.(feed_item_code,feed_type_code)],by="feed_item_code",all.x=T) + v37_feed_basket[is.na(feed_type_code)] + v37_feed_basket[,feed_item_code:=as.character(feed_item_code)] + v37_feed_basket[,feed_type_code:=as.character(feed_type_code)] -## 1.2) Read in parameter tables ##### -lkp_livetype<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_livetype.csv") -lkp_manureman<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_manureman.csv") + # Simple field parameters + v37_simple_fields<-data.table(readxl::read_excel(file,sheet="simple_fields")) -## 1.3) Input template ##### -file<-"https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/shared_folder/study_objects/Study_2.json" -template <- fromJSON(file) -colnames(template$livestock) + ## 1.2) Read in parameter tables ##### + lkp_livetype<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_livetype.csv") + lkp_manureman<-fread("https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/primary_database/lkp_manureman.csv") + energy_parameters <- fromJSON( + system.file("extdata", "energy_parameters.json", package = "cleaned"), + flatten = TRUE + ) + + # Read static parameters directory and files + ghg_ipcc_data <- fromJSON( + system.file("extdata", "ghg_parameters.json", package = "cleaned"), + flatten = TRUE + ) + + ## 1.3) Input template ##### + file<-"https://raw.githubusercontent.com/CIAT/icleaned/refs/heads/staging/data/shared_folder/study_objects/Study_2.json" + template <- fromJSON(file) + colnames(template$livestock) -feed_items<-data.table(template$feed_items) -fertilizer<-data.table(template$fertilizer)[0,] + feed_items<-data.table(template$feed_items) + fertilizer<-data.table(template$fertilizer)[0,] + fertilizer<-NULL # 2) Set "fixed" parameters #### -## 2.0) "Simple" fields ##### -template_names<-data.table(field_name=names(template), - class=sapply(template,base::class), - length=sapply(template,length)) - -simple_fields<-template_names[length==1,field_name] - -system(paste("echo", shQuote(paste(simple_fields, collapse = "\t")), "| pbcopy")) -## 2.1) Livestock ##### -mm_code<-"storage" -mm_des<-lkp_manureman[manureman_code==mm_code,manureman_desc] - -mm_code2<-"pasture" -mm_des2<-lkp_manureman[manureman_code==mm_code,manureman_desc] - -livestock_fixed<-c( -manureman_stable=mm_des, -manureman_onfarm_grazing=mm_des2, -manureman_non_roofed_enclosure=0, -manureman_offfarm_grazing=mm_des2, -annual_growth=0, -annual_wool=0, -manure_in_stable=1, -manure_in_non_roofed_enclosure=0, -manure_in_field=0, -manure_onfarm_fraction=0, -manure_sales_fraction=0, -body_weight_weaning=0, -body_weight_year_one=0, -adult_weight=600, -work_hour=0, -piglets_relying_on_milk=0 -) - -## 2.2) Feed_Items ##### -feed_fixed<-c( - slope=1, - slope_desc="Flat (0-5%)", - slope_p_factor=0.11, - slope_length=15, - water_regime=0, - n_content=0, - cultivation_period=0, - ecosystem_type=0, - organic_amendment=0, - cut_carry_fraction=0, - fraction_as_fertilizer=0, # Needs to be distributed by crop - fraction_as_manure=0, # Needs to be distributed by crop - n_fertilizer=0, - urea=0, - npk=0, - dap=0, - ammonium_nitrate=0, - ammonium_sulfate=0, - n_solutions=0, - ammonia=0, - time_horizon=0 -) - -fi_cols<-colnames(feed_items) -zero_cols<-fi_cols[grep("trees|dbh|diameter_",fi_cols)] -names(zero_cols)<-zero_cols -zero_cols[1:length(zero_cols)]<-0 -feed_fixed<-c(feed_fixed,zero_cols) - - ### 2.2.1) Add fixed items to input template ##### - for(k in 1:length(feed_fixed)){ - variable<-names(feed_fixed)[k] - v37_feed_items_merge[,(variable):=feed_fixed[k]] + ## 2.0) "Simple" fields ##### + template_names<-data.table(field_name=names(template), + class=sapply(template,base::class), + length=sapply(template,length)) + + simple_field_names<-template_names[length==1,field_name] + + simple_fields<-template[simple_field_names] + + for(i in 1:length(simple_fields)){ + field<-names(simple_fields)[i] + simple_fields[field]<-v37_simple_fields[field_name==field,value] } - # Check all cols in template are present - colnames(feed_items)[!colnames(feed_items) %in% colnames(v37_feed_items_merge)] -## 2.3) Seasons ##### - seasons<-data.frame(season_length="season_name",season_length=180) -# 3) Loop throught farms #### + ## 2.1) Livestock ##### + mm_code<-"storage" + mm_des<-lkp_manureman[manureman_code==mm_code,manureman_desc] + + mm_code2<-"pasture" + mm_des2<-lkp_manureman[manureman_code==mm_code,manureman_desc] + + livestock_fixed<-data.frame( + manureman_stable=mm_des, + manureman_onfarm_grazing=mm_des2, + manureman_non_roofed_enclosure=0, + manureman_offfarm_grazing=mm_des2, + annual_growth=0, + annual_wool=0, + manure_in_stable=1, + manure_in_non_roofed_enclosure=0, + manure_in_field=0, + manure_onfarm_fraction=0, + manure_sales_fraction=0, + body_weight_weaning=0, + body_weight_year_one=0, + adult_weight=600, + work_hour=0, + piglets_relying_on_milk=0 + ) + + ## 2.2) Feed_Items ##### + feed_fixed<-c( + slope=1, + slope_desc="Flat (0-5%)", + slope_p_factor=0.11, + slope_length=15, + water_regime=0, + n_content=0, + cultivation_period=0, + ecosystem_type=0, + organic_amendment=0, + cut_carry_fraction=0, + fraction_as_fertilizer=0, # Needs to be distributed by crop + fraction_as_manure=0, # Needs to be distributed by crop + n_fertilizer=0, + urea=0, + npk=0, + dap=0, + ammonium_nitrate=0, + ammonium_sulfate=0, + n_solutions=0, + ammonia=0, + time_horizon=0 + ) + + fi_cols<-colnames(feed_items) + zero_cols<-fi_cols[grep("trees|dbh|diameter_",fi_cols)] + names(zero_cols)<-zero_cols + zero_cols[1:length(zero_cols)]<-0 + feed_fixed<-c(feed_fixed,zero_cols) + + ### 2.2.1) Add fixed items to input template ##### + for(k in 1:length(feed_fixed)){ + variable<-names(feed_fixed)[k] + v37_feed_items_merge[,(variable):=feed_fixed[k]] + } + + # Check all cols in template are present + colnames(feed_items)[!colnames(feed_items) %in% colnames(v37_feed_items_merge)] + + # Enforce numeric class + num_cols<-c("slope_p_factor","slope_length") + feed_items[, (num_cols) := lapply(.SD, as.numeric), .SDcols = num_cols] + + ## 2.3) Seasons ##### + season_dat<-data.frame(season_length=180,season_name="season_x") + +# 3) Loop through farms #### # unique farm ids farms<-na.omit(unique(herd$Ids)) -i<-1 - -for(i in 1:length(farms)){ +farm_paras<-lapply(1:length(farms),FUN=function(i){ farm<-farms[i] ## 3.1) Herds ##### @@ -148,82 +174,145 @@ for(i in 1:length(farms)){ livestock_37<-herd[Ids==farm] # Loop through herds on the farm - for(j in 1:nrow(livestock_37)){ - cat(farm,i,"/",length(farms),herd,j,"/",nrow(livestock_37)) - - # Subset herds - herd_1<-livestock_37[j] - - # Merge lkp_livetype - l_code<-herd_1$livetype_code - livestock$livetype_code[j]<-l_code - livestock$livetype_code<-as.integer(livestock$livetype_code) - - mergedat<-lkp_livetype[livetype_code==l_code] - - cols_m<-colnames(mergedat) - cols_m<-cols_m[cols_m != "livetype_code"] - cols_l<-colnames(livestock)[!colnames(livestock) %in% cols_m] - livestock<-livestock[,cols_l,with=F] - - livestock<-merge(livestock,mergedat,by="livetype_code",all.x = T) - - # Insert farm specific V37 herd data - cols_m<-colnames(herd_1) - livestock$herd_composition<-herd_1$number - livestock$body_weight<-herd_1$body_weight - livestock$annual_milk<-herd_1$annual_milk - livestock$time_in_stable<-herd_1$time_in_stable - livestock$time_in_onfarm_grazing<-herd_1$time_in_onfarm_grazing - livestock$time_in_offfarm_grazing<-herd_1$time_in_offfarm_grazing - livestock$time_in_non_roofed_enclosure<-herd_1$time_in_non_roofed_enclosure - livestock$distance_to_pasture<-herd_1$distance_to_pasture - - # Add fixed parameters - for(k in 1:length(livestock_fixed)){ - variable<-names(livestock_fixed)[k] - livestock[,(variable):=livestock_fixed[k]] - } + livestock<-rbindlist(lapply(1:nrow(livestock_37),FUN=function(j){ + cat("\r", farm, "i =", i, "/", length(farms), "herd (j) =", j, "/", nrow(livestock_37)) + + # Subset herds + herd_1<-livestock_37[j] + + # Merge lkp_livetype + l_code<-herd_1$livetype_code + livestock$livetype_code<-l_code + livestock$livetype_code<-as.integer(livestock$livetype_code) + + mergedat<-lkp_livetype[livetype_code==l_code] + + cols_m<-colnames(mergedat) + cols_m<-cols_m[cols_m != "livetype_code"] + cols_l<-colnames(livestock)[!colnames(livestock) %in% cols_m] + livestock<-livestock[,cols_l,with=F] + + livestock<-merge(livestock,mergedat,by="livetype_code",all.x = T) + + # Insert farm specific V37 herd data + cols_m<-colnames(herd_1) + livestock$herd_composition<-herd_1$number + livestock$body_weight<-herd_1$body_weight + livestock$annual_milk<-herd_1$annual_milk + livestock$time_in_stable<-herd_1$time_in_stable + livestock$time_in_onfarm_grazing<-herd_1$time_in_onfarm_grazing + livestock$time_in_offfarm_grazing<-herd_1$time_in_offfarm_grazing + livestock$time_in_non_roofed_enclosure<-herd_1$time_in_non_roofed_enclosure + livestock$distance_to_pasture<-herd_1$distance_to_pasture + + # Add fixed parameters + for(k in 1:ncol(livestock_fixed)){ + variable<-colnames(livestock_fixed)[k] + livestock[,(variable):=livestock_fixed[1,k]] + } + + # Rename ipcc parameter columns + ipcc_new<-c( + "ipcc_ef_category_t1", + "ipcc_ef_category_t2", + "ipcc_meth_man_category", + "ipcc_n_exc_category" + ) + + ipcc_old<-c( + "ipcc_meth_ef_t1", + "ipcc_meth_ef_t2", + "ipcc_meth_man", + "ipcc_meth_exc" + ) + + livestock<-livestock[,!ipcc_new,with = F] + setnames(livestock,ipcc_old,ipcc_new) + livestock + })) + + # Enforce codes to be character + livestock[,livetype_code:=as.character(livetype_code)] + + ## 3.2) Fertilizer ##### + # Blank table created in section 1.3 + # 3.3) Feed basket #### + ### 3.3.1) Seasons ##### + # Created in section 2.3 + ### 3.3.2) Feeds ##### + feeds<-v37_feed_basket[Ids==farm] + # Average across duplicate rows + feeds<-feeds[,.(allocation=mean(allocation)),by=.(Ids,feed_type_code,feed_item_code,livetype_code)] + + feeds<-feeds[,.(livestock=list(data.table(livetype_code=livetype_code,allocation=allocation))),by=.(feed_item_code,feed_type_code)] + feeds<-data.frame(feeds) + ### 3.3.3) Combine Season and Feeds ##### + feed_basket <- data.table( + feeds = list(feeds=feeds), + season_name = season_dat$season_name[1] + ) + feed_basket<-data.frame(feed_basket) + + ## 3.4) Feed Items ##### + # v37_feed_items_merge is creted in section 2.2, subset to items in the diet + feed_items<-v37_feed_items_merge[feed_item_code %in% feeds$feed_item_code] + ## 3.5) Join sections into list structure #### + input_object<-c(simple_fields,list(livestock=livestock, + feed_items=feed_items, + fertilizer=fertilizer, + seasons=season_dat, + feed_basket=feed_basket)) + input_object$farm_name<-farm + return(input_object) + +}) +names(farm_paras)<-paste0("f",farms) + +# 4) Pass to cleaned functions #### +i<-1 +para<-farm_paras[[i]] - # Rename ipcc parameter columns - ipcc_new<-c( - "ipcc_ef_category_t1", - "ipcc_ef_category_t2", - "ipcc_meth_man_category", - "ipcc_n_exc_category" - ) +## 4.1) feed basket quality ##### +feed_basket_quality <- feed_quality(para) - ipcc_old<-c( - "ipcc_meth_ef_t1", - "ipcc_meth_ef_t2", - "ipcc_meth_man", - "ipcc_meth_exc" - ) +## 4.2) energy ##### +# Table 10.4 is in list form this throws an error, convert to data.frame +energy_required <- energy_requirement(para,feed_basket_quality,energy_parameters = energy_parameters) - livestock<-livestock[,!ipcc_new,with = F] - setnames(livestock,ipcc_old,ipcc_new) +## 4.3) land ##### +para$feed_items$intercrop<-as.numeric(para$feed_items$intercrop) +land_required <- land_requirement(feed_basket_quality, energy_required, para) - ## 3.2) Feed Items #### - # Already created in section 2.2 - ## 3.3 Fertilizer ##### - # Blank table created in section 1.3 +## 4.4) soil erosion ##### +para$feed_items$slope_p_factor<-as.numeric(para$feed_items$slope_p_factor) +soil_erosion <- soil_health(para, land_required) - # 4) Feed basket #### +## 4.5) n balance ##### +para$feed_items$ammonia<-as.numeric(para$feed_items$ammonia) +para$feed_items$ammonium_nitrate<-as.numeric(para$feed_items$ammonium_nitrate) +para$feed_items$ammonium_sulfate<-as.numeric(para$feed_items$ammonium_sulfate) +para$feed_items$dap<-as.numeric(para$feed_items$dap) +para$feed_items$n_solutions<-as.numeric(para$feed_items$n_solutions) +para$feed_items$npk<-as.numeric(para$feed_items$npk) +para$feed_items$urea<-as.numeric(para$feed_items$urea) +nitrogen_balance <- n_balance(para, land_required, soil_erosion) - ## 4.1) Seasons ##### - # Created in section 2.3 +## 4.6) livestock productivity ##### +livestock_productivity <- land_productivity(para,energy_required) - ## 4.2) Feeds ##### +## 4.7) biomass ##### +num_cols<-c("trees_ha_dbh25","trees_ha_dbh2550","trees_ha_dbh50","increase_dbh25","increase_dbh2550","increase_dbh50", + "time_horizon","average_dbh2550","average_dbh25","average_dbh50") +para$feed_items<-para$feed_items[, (num_cols) := lapply(.SD, as.numeric), .SDcols = num_cols] - feed_basket<-v37_feed_basket[Ids==farm] - feed_basket<-feed_basket[,.(livestock=list(data.frame(livetype_code=livetype_code,allocation=allocation))),by=.(feed_item_code,feed_type_code)] +biomass <- biomass_calculation(para, land_required) - ## 4.3) Combine Season and Feeds ##### - feed_basket<-data.frame(feeds=feed_basket,seasons=seasons) +## 4.8) ghg_emissions ##### +char_cols<-c("manureman_non_roofed_enclosure") +para$livestock<-para$livestock[, (char_cols) := lapply(.SD, as.character), .SDcols = char_cols] - # 5) Join sections into list structure #### +results<-ghg_emission(para,energy_required,ghg_ipcc_data,land_required,nitrogen_balance) +str(results) - } -} From 6646a7e853a9df0231e66714fba33a7438fb863a Mon Sep 17 00:00:00 2001 From: pstewarda Date: Thu, 12 Dec 2024 15:37:32 +0300 Subject: [PATCH 25/28] == changed to %in% in feed_quality loop --- R/feed_quality.R | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/R/feed_quality.R b/R/feed_quality.R index 67541e2..07fce4a 100644 --- a/R/feed_quality.R +++ b/R/feed_quality.R @@ -39,7 +39,6 @@ feed_quality <- function(para) { livestock_type_selected <- livestock_df[livestock_df$livetype_code == livestock, ] - for (season in 1:nrow(seasons)) { feed_production <- unnest(para[["feed_items"]], cols = c(feed_type_name)) @@ -77,7 +76,7 @@ feed_quality <- function(para) { seasons$season_name[season]) feed_item_selected <- feeding_seasons %>% - dplyr::filter(feed_item_code == feed_selected[["feed_item_code"]]) + dplyr::filter(feed_item_code %in% feed_selected[["feed_item_code"]]) livestock_selected <- feed_item_selected[["livestock"]] %>% as.data.frame() %>% From 7186a6747a2abc1fa4908a5487e599ea32847212 Mon Sep 17 00:00:00 2001 From: pstewarda Date: Thu, 12 Dec 2024 17:49:53 +0300 Subject: [PATCH 26/28] workflow development v0 completed --- R/misc/v37 loop.R | 185 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 142 insertions(+), 43 deletions(-) diff --git a/R/misc/v37 loop.R b/R/misc/v37 loop.R index d152c35..f256859 100644 --- a/R/misc/v37 loop.R +++ b/R/misc/v37 loop.R @@ -3,15 +3,26 @@ pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) # 1) Load Data #### ## 1.1) V37 data ##### file<-"data/v37/Kenya NPA data.xlsx" + save_file<-file.path(dirname(file),"Kenya NPA emissions.xlsx") # data <- readxl::read_excel(file,sheet=1) herd <- data.table(readxl::read_excel(file,sheet="milk-bodyweight")) herd[,livetype_code:=as.character(livetype_code)] + setnames(herd,"livetype_desc","livetype_desc_v37") v37_feed_items<-data.table(readxl::read_excel(file,sheet="Feed_items")) v37_feed_items$intercrop<-as.numeric(0) v37_feed_type<-unique(data.table(readxl::read_excel(file,sheet="feed_type")))[order(feed_type_code)] + # Deal with duplicate entry for item 5 Brachiaria + x<-v37_feed_type[feed_type_code==5][, feed_type_name := "Brachiaria"] + by_cols<-colnames(x)[1:5] + num_cols<-colnames(x)[!colnames(x) %in% by_cols] + + x <- x[, lapply(.SD, mean), by = by_cols, .SDcols = num_cols] + + v37_feed_type<-rbind(v37_feed_type[feed_type_code!=5],x) + # V37 - Merge feed_items & feed type v37_feed_items_merge<-merge(v37_feed_items,v37_feed_type,by="feed_type_code",all.x=T) @@ -28,10 +39,11 @@ pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) value.name = "allocation") # Check proportions sum to 1 - v37_feed_basket<-v37_feed_basket[allocation!=0][order(Ids,livetype_code)][,total:=sum(allocation),by=.(Ids,livetype_code)] + v37_feed_basket<-v37_feed_basket[allocation!=0][order(Ids,livetype_code) + ][,total:=sum(allocation),by=.(Ids,livetype_code,livetype_desc)] unique(v37_feed_basket[total==2,.(Ids,livetype_code,total)]) - v37_feed_basket<-v37_feed_basket[,.(Ids,livetype_code,feed_item_code,allocation) + v37_feed_basket<-v37_feed_basket[,.(Ids,livetype_code,livetype_desc,feed_item_code,allocation) ][,allocation:=allocation*100 ][,feed_item_code:=as.numeric(as.character(feed_item_code))] @@ -153,7 +165,7 @@ pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) # Enforce numeric class num_cols<-c("slope_p_factor","slope_length") - feed_items[, (num_cols) := lapply(.SD, as.numeric), .SDcols = num_cols] + v37_feed_items_merge[, (num_cols) := lapply(.SD, as.numeric), .SDcols = num_cols] ## 2.3) Seasons ##### season_dat<-data.frame(season_length=180,season_name="season_x") @@ -171,10 +183,10 @@ farm_paras<-lapply(1:length(farms),FUN=function(i){ livestock[1,1:ncol(livestock)]<-NA # Subset v37 data to selected farm - livestock_37<-herd[Ids==farm] + livestock_37<-herd[Ids==farm & !grepl("calve",livetype_desc_v37,ignore.case = T)] # Loop through herds on the farm - livestock<-rbindlist(lapply(1:nrow(livestock_37),FUN=function(j){ + paras<-lapply(1:nrow(livestock_37),FUN=function(j){ cat("\r", farm, "i =", i, "/", length(farms), "herd (j) =", j, "/", nrow(livestock_37)) # Subset herds @@ -189,13 +201,14 @@ farm_paras<-lapply(1:length(farms),FUN=function(i){ cols_m<-colnames(mergedat) cols_m<-cols_m[cols_m != "livetype_code"] - cols_l<-colnames(livestock)[!colnames(livestock) %in% cols_m] + cols_l<-c(colnames(livestock)[!colnames(livestock) %in% cols_m]) livestock<-livestock[,cols_l,with=F] livestock<-merge(livestock,mergedat,by="livetype_code",all.x = T) # Insert farm specific V37 herd data cols_m<-colnames(herd_1) + livestock$livetype_desc_v37<-herd_1$livetype_desc_v37 livestock$herd_composition<-herd_1$number livestock$body_weight<-herd_1$body_weight livestock$annual_milk<-herd_1$annual_milk @@ -228,8 +241,6 @@ farm_paras<-lapply(1:length(farms),FUN=function(i){ livestock<-livestock[,!ipcc_new,with = F] setnames(livestock,ipcc_old,ipcc_new) - livestock - })) # Enforce codes to be character livestock[,livetype_code:=as.character(livetype_code)] @@ -240,9 +251,13 @@ farm_paras<-lapply(1:length(farms),FUN=function(i){ ### 3.3.1) Seasons ##### # Created in section 2.3 ### 3.3.2) Feeds ##### - feeds<-v37_feed_basket[Ids==farm] + feeds<-v37_feed_basket[Ids==farm & tolower(livetype_desc)==tolower(livestock$livetype_desc_v37)] + if(nrow(feeds)==0){ + stop("Feed table is blank, livetype_desc in feed basket not matching herd.") + } + # Average across duplicate rows - feeds<-feeds[,.(allocation=mean(allocation)),by=.(Ids,feed_type_code,feed_item_code,livetype_code)] + #feeds<-feeds[,.(allocation=mean(allocation)),by=.(Ids,feed_type_code,feed_item_code,livetype_code)] feeds<-feeds[,.(livestock=list(data.table(livetype_code=livetype_code,allocation=allocation))),by=.(feed_item_code,feed_type_code)] feeds<-data.frame(feeds) @@ -264,55 +279,139 @@ farm_paras<-lapply(1:length(farms),FUN=function(i){ feed_basket=feed_basket)) input_object$farm_name<-farm return(input_object) + }) + names(paras)<-paste0("herd-",1:nrow(livestock_37)) + return(paras) }) + names(farm_paras)<-paste0("f",farms) + # 4) Pass to cleaned functions #### i<-1 -para<-farm_paras[[i]] +ghg_emissions<-lapply(1:length(farm_paras),FUN=function(i){ + + farm_para<-farm_paras[[i]] + + result<-lapply(1:length(farm_para),FUN=function(j){ + + cat("\r","farm",names(farm_paras)[i],i,"/",length(farm_paras),"herd",j," ") + + para<-farm_para[[j]] + + ## 4.1) feed basket quality ##### + feed_basket_quality <- feed_quality(para) -## 4.1) feed basket quality ##### -feed_basket_quality <- feed_quality(para) + ## 4.2) energy ##### + # Table 10.4 is in list form this throws an error, convert to data.frame + energy_required <- energy_requirement(para,feed_basket_quality,energy_parameters = energy_parameters) -## 4.2) energy ##### -# Table 10.4 is in list form this throws an error, convert to data.frame -energy_required <- energy_requirement(para,feed_basket_quality,energy_parameters = energy_parameters) + ## 4.3) land ##### + para$feed_items$intercrop<-as.numeric(para$feed_items$intercrop) + land_required <- land_requirement(feed_basket_quality, energy_required, para) -## 4.3) land ##### -para$feed_items$intercrop<-as.numeric(para$feed_items$intercrop) -land_required <- land_requirement(feed_basket_quality, energy_required, para) + ## 4.4) soil erosion ##### + para$feed_items$slope_p_factor<-as.numeric(para$feed_items$slope_p_factor) + soil_erosion <- soil_health(para, land_required) -## 4.4) soil erosion ##### -para$feed_items$slope_p_factor<-as.numeric(para$feed_items$slope_p_factor) -soil_erosion <- soil_health(para, land_required) + ## 4.5) n balance ##### + para$feed_items$ammonia<-as.numeric(para$feed_items$ammonia) + para$feed_items$ammonium_nitrate<-as.numeric(para$feed_items$ammonium_nitrate) + para$feed_items$ammonium_sulfate<-as.numeric(para$feed_items$ammonium_sulfate) + para$feed_items$dap<-as.numeric(para$feed_items$dap) + para$feed_items$n_solutions<-as.numeric(para$feed_items$n_solutions) + para$feed_items$npk<-as.numeric(para$feed_items$npk) + para$feed_items$urea<-as.numeric(para$feed_items$urea) -## 4.5) n balance ##### -para$feed_items$ammonia<-as.numeric(para$feed_items$ammonia) -para$feed_items$ammonium_nitrate<-as.numeric(para$feed_items$ammonium_nitrate) -para$feed_items$ammonium_sulfate<-as.numeric(para$feed_items$ammonium_sulfate) -para$feed_items$dap<-as.numeric(para$feed_items$dap) -para$feed_items$n_solutions<-as.numeric(para$feed_items$n_solutions) -para$feed_items$npk<-as.numeric(para$feed_items$npk) -para$feed_items$urea<-as.numeric(para$feed_items$urea) + nitrogen_balance <- n_balance(para, land_required, soil_erosion) -nitrogen_balance <- n_balance(para, land_required, soil_erosion) + ## 4.6) livestock productivity ##### + livestock_productivity <- land_productivity(para,energy_required) -## 4.6) livestock productivity ##### -livestock_productivity <- land_productivity(para,energy_required) + ## 4.7) biomass ##### + num_cols<-c("trees_ha_dbh25","trees_ha_dbh2550","trees_ha_dbh50","increase_dbh25","increase_dbh2550","increase_dbh50", + "time_horizon","average_dbh2550","average_dbh25","average_dbh50") + para$feed_items<-para$feed_items[, (num_cols) := lapply(.SD, as.numeric), .SDcols = num_cols] + + biomass <- biomass_calculation(para, land_required) + + ## 4.8) ghg_emissions ##### + char_cols<-c("manureman_non_roofed_enclosure") + para$livestock<-para$livestock[, (char_cols) := lapply(.SD, as.character), .SDcols = char_cols] + + results<-ghg_emission(para,energy_required,ghg_ipcc_data,land_required,nitrogen_balance) + + # Unpack soil into 3 tables not a list + results$soil_annual_N20N_soil_direct_emission<-results$ghg_soil$annual_N20N_soil_direct_emission + results$soil_annual_N20N_soil_indirect_emission<-results$ghg_soil$annual_N20N_soil_indirect_emission + results$soil_N20N_off_farm<-results$ghg_soil$N20N_off_farm + results$ghg_soil<-NULL + results + }) + names(result)<-names(farm_para) + return(result) +}) + +names(ghg_emissions)<-names(farm_paras) + +## 4.9) Add farm and herd name to tables +ghg_emissions_merge<-lapply(1:length(ghg_emissions),FUN=function(i){ + farm_name<-names(ghg_emissions)[i] + ghg_farm<-ghg_emissions[[i]] + + ghg_farm_updated<-lapply(1:length(ghg_farm),FUN=function(j){ + cat("\r","i",i,"j",j," ") + herd_name<-names(ghg_farm)[j] + ghg_herd<-ghg_farm[[j]] + ghg_herd_updated<-lapply(1:length(ghg_herd),FUN=function(k){ + data<-ghg_herd[[k]] + data$farm<-farm_name + data$herd<-herd_name + return(data) + }) + names(ghg_herd_updated)<-names(ghg_herd) + return(ghg_herd_updated) + }) + + tab_names<-names(ghg_farm_updated[[1]]) + ghg_farm_merged<-lapply(tab_names,FUN=function(tab_name){ + x<-lapply(ghg_farm_updated,"[[",tab_name) + x<-rbindlist(x) + x + }) + + names(ghg_farm_merged)<-tab_names + return(ghg_farm_merged) +}) +names(ghg_emissions_merge)<-names(ghg_emissions) + +## 4.10) Combine tables ##### +tab_names<-names(ghg_emissions_merge[[1]]) + +ghg_emissions_merge_all<-lapply(tab_names,FUN=function(tab_name){ + x<-lapply(ghg_emissions_merge,"[[",tab_name) + x<-rbindlist(x) + x +}) +names(ghg_emissions_merge_all)<-tab_names -## 4.7) biomass ##### -num_cols<-c("trees_ha_dbh25","trees_ha_dbh2550","trees_ha_dbh50","increase_dbh25","increase_dbh2550","increase_dbh50", - "time_horizon","average_dbh2550","average_dbh25","average_dbh50") -para$feed_items<-para$feed_items[, (num_cols) := lapply(.SD, as.numeric), .SDcols = num_cols] +n<-nchar(names(ghg_emissions_merge_all)) +names(ghg_emissions_merge_all)[n>31] +names(ghg_emissions_merge_all)[n>31]<-c("annual_N20N_soil_direct","annual_N20N_soil_indirect") -biomass <- biomass_calculation(para, land_required) +library(openxlsx) -## 4.8) ghg_emissions ##### -char_cols<-c("manureman_non_roofed_enclosure") -para$livestock<-para$livestock[, (char_cols) := lapply(.SD, as.character), .SDcols = char_cols] +# Create a new Excel workbook +wb <- createWorkbook() +# Loop through the list and add each data.frame as a sheet +for (sheet_name in names(ghg_emissions_merge_all)) { + addWorksheet(wb, sheet_name) + writeData(wb, sheet = sheet_name, x = ghg_emissions_merge_all[[sheet_name]]) +} -results<-ghg_emission(para,energy_required,ghg_ipcc_data,land_required,nitrogen_balance) -str(results) +# Save the workbook to a file +saveWorkbook(wb, file = save_file, overwrite = TRUE) +print("Excel file saved as 'output.xlsx'") From 6fb53592bb77ee5793cc0ef9e9027b66b0b5cc98 Mon Sep 17 00:00:00 2001 From: pstewarda Date: Thu, 12 Dec 2024 17:51:06 +0300 Subject: [PATCH 27/28] issue with filtering of feed_production resolved --- R/feed_quality.R | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/R/feed_quality.R b/R/feed_quality.R index 07fce4a..6ad7b9f 100644 --- a/R/feed_quality.R +++ b/R/feed_quality.R @@ -48,9 +48,7 @@ feed_quality <- function(para) { feed_allocation <- list() for (i in 1:length(feed_types)) { - - feed_selected <- feed_production %>% dplyr::filter(feed_type_name %in% - feed_production$feed_type_name[i]) + feed_selected <- feed_production %>% dplyr::filter(feed_type_name %in% feed_types[i]) #feed_item <- as.data.frame(feed_selected[["feed_items"]]) @@ -134,7 +132,7 @@ feed_quality <- function(para) { feed_allocation_all[is.na(feed_allocation_all)] <- 0 # Bind and add into the season list - season_allocation[[season]] <- cbind(season_name = rep(feed_item_selected$season_name, times = nrow(feed_allocation_all)), + season_allocation[[season]] <- cbind(season_name = rep(feed_item_selected$season_name[1],times = nrow(feed_allocation_all)), livestock_category_code = rep(livestock_selected$livetype_code, times = nrow(feed_allocation_all)), livestock_category_name = rep(livestock_type_selected$livetype_desc, times = nrow(feed_allocation_all)), feed_allocation_all) @@ -154,4 +152,6 @@ feed_quality <- function(para) { # Bind by rows livestock_feed_allocation <- livestock_allocation %>% bind_rows() + return(livestock_feed_allocation) + } From 24921e2f4aa39a04f23673d072d420bfcc8aa3ad Mon Sep 17 00:00:00 2001 From: pstewarda Date: Fri, 19 Sep 2025 15:45:37 +0300 Subject: [PATCH 28/28] updates --- R/misc/v37 loop.R | 58 +++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/R/misc/v37 loop.R b/R/misc/v37 loop.R index f256859..938de46 100644 --- a/R/misc/v37 loop.R +++ b/R/misc/v37 loop.R @@ -1,4 +1,11 @@ -pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) + +# Load packages and function +pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table,openxlsx) + +source("R/ghg_emission_v2.R") +source("R/nitrogen_balance.R") +source("R/energy_requirement.R") +source("R/feed_quality.R") # 1) Load Data #### ## 1.1) V37 data ##### @@ -41,6 +48,7 @@ pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) # Check proportions sum to 1 v37_feed_basket<-v37_feed_basket[allocation!=0][order(Ids,livetype_code) ][,total:=sum(allocation),by=.(Ids,livetype_code,livetype_desc)] + unique(v37_feed_basket[total==2,.(Ids,livetype_code,total)]) v37_feed_basket<-v37_feed_basket[,.(Ids,livetype_code,livetype_desc,feed_item_code,allocation) @@ -105,22 +113,22 @@ pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) mm_des2<-lkp_manureman[manureman_code==mm_code,manureman_desc] livestock_fixed<-data.frame( - manureman_stable=mm_des, - manureman_onfarm_grazing=mm_des2, - manureman_non_roofed_enclosure=0, - manureman_offfarm_grazing=mm_des2, - annual_growth=0, - annual_wool=0, - manure_in_stable=1, - manure_in_non_roofed_enclosure=0, - manure_in_field=0, - manure_onfarm_fraction=0, - manure_sales_fraction=0, - body_weight_weaning=0, - body_weight_year_one=0, - adult_weight=600, - work_hour=0, - piglets_relying_on_milk=0 + manureman_stable=mm_des, + manureman_onfarm_grazing=mm_des2, + manureman_non_roofed_enclosure=0, + manureman_offfarm_grazing=mm_des2, + annual_growth=0, + annual_wool=0, + manure_in_stable=1, + manure_in_non_roofed_enclosure=0, + manure_in_field=0, + manure_onfarm_fraction=0, + manure_sales_fraction=0, + body_weight_weaning=0, + body_weight_year_one=0, + adult_weight=600, + work_hour=0, + piglets_relying_on_milk=0 ) ## 2.2) Feed_Items ##### @@ -173,6 +181,7 @@ pacman::p_load(readxl,cleaned,jsonlite,tidyr,dplyr,miceadds,data.table) # 3) Loop through farms #### # unique farm ids farms<-na.omit(unique(herd$Ids)) +farms<-farms[2] farm_paras<-lapply(1:length(farms),FUN=function(i){ farm<-farms[i] @@ -289,14 +298,15 @@ names(farm_paras)<-paste0("f",farms) # 4) Pass to cleaned functions #### -i<-1 +messages<-F + ghg_emissions<-lapply(1:length(farm_paras),FUN=function(i){ farm_para<-farm_paras[[i]] result<-lapply(1:length(farm_para),FUN=function(j){ - cat("\r","farm",names(farm_paras)[i],i,"/",length(farm_paras),"herd",j," ") + cat("farm",names(farm_paras)[i],i,"/",length(farm_paras),"herd",j," \r") para<-farm_para[[j]] @@ -324,7 +334,7 @@ ghg_emissions<-lapply(1:length(farm_paras),FUN=function(i){ para$feed_items$npk<-as.numeric(para$feed_items$npk) para$feed_items$urea<-as.numeric(para$feed_items$urea) - nitrogen_balance <- n_balance(para, land_required, soil_erosion) + nitrogen_balance <- n_balance(para, land_required, soil_erosion,energy_required) ## 4.6) livestock productivity ##### livestock_productivity <- land_productivity(para,energy_required) @@ -340,7 +350,11 @@ ghg_emissions<-lapply(1:length(farm_paras),FUN=function(i){ char_cols<-c("manureman_non_roofed_enclosure") para$livestock<-para$livestock[, (char_cols) := lapply(.SD, as.character), .SDcols = char_cols] - results<-ghg_emission(para,energy_required,ghg_ipcc_data,land_required,nitrogen_balance) + if(messages==F){ + results<-suppressMessages(ghg_emission(para,energy_required,ghg_ipcc_data,land_required,nitrogen_balance,feed_basket_quality,ym_prod=F)) + }else{ + results<-ghg_emission(para,energy_required,ghg_ipcc_data,land_required,nitrogen_balance,feed_basket_quality,ym_prod=F) + } # Unpack soil into 3 tables not a list results$soil_annual_N20N_soil_direct_emission<-results$ghg_soil$annual_N20N_soil_direct_emission @@ -400,7 +414,7 @@ n<-nchar(names(ghg_emissions_merge_all)) names(ghg_emissions_merge_all)[n>31] names(ghg_emissions_merge_all)[n>31]<-c("annual_N20N_soil_direct","annual_N20N_soil_indirect") -library(openxlsx) +ghg_emissions_merge_all$ef[farm=="f596171010",.(farm,livetype_desc_v37,ipcc_ef_category_t1,ipcc_ef_category_t2,de,de_intake,ge_intake,dmi_tot,ym,enteric_methane_emissions)] # Create a new Excel workbook wb <- createWorkbook()