From 3e4a8990f96cd61bc0ea0ba5b42140fe5fc4fbc7 Mon Sep 17 00:00:00 2001
From: dj44vuri <julian.sagebiel@idiv.de>
Date: Mon, 27 Nov 2023 14:12:04 +0100
Subject: [PATCH] valugaps taken offline and new designs for feedadditives

---
 .gitignore                                    |   3 +-
 Projects/ValuGaps/Designs/ort2attr.ngd        | 156 ------
 Projects/ValuGaps/code/BFN_data.R             |  53 --
 Projects/ValuGaps/code/GIS_data.R             | 115 -----
 Projects/ValuGaps/code/makes_things_faster.R  |  24 -
 Projects/ValuGaps/code/maps.R                 | 469 ------------------
 .../ValuGaps/designsyntax/design syntax.ngs   | 234 ---------
 Projects/ValuGaps/parameters_valugaps.R       | 129 -----
 .../Designs/Design efficient 27112023.ngd     |  44 ++
 ...n efficient continuous coding 27112023.ngd |  44 ++
 .../Designs/Design orthogonal 27112023.ngd    |  91 ++++
 11 files changed, 181 insertions(+), 1181 deletions(-)
 delete mode 100644 Projects/ValuGaps/Designs/ort2attr.ngd
 delete mode 100644 Projects/ValuGaps/code/BFN_data.R
 delete mode 100644 Projects/ValuGaps/code/GIS_data.R
 delete mode 100644 Projects/ValuGaps/code/makes_things_faster.R
 delete mode 100644 Projects/ValuGaps/code/maps.R
 delete mode 100644 Projects/ValuGaps/designsyntax/design syntax.ngs
 delete mode 100644 Projects/ValuGaps/parameters_valugaps.R
 create mode 100644 Projects/feedadditives/Designs/Design efficient 27112023.ngd
 create mode 100644 Projects/feedadditives/Designs/Design efficient continuous coding 27112023.ngd
 create mode 100644 Projects/feedadditives/Designs/Design orthogonal 27112023.ngd

diff --git a/.gitignore b/.gitignore
index 6fd03d4..fb1287a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,5 @@
 dce_simulation_tool.Rproj
 modeloutput/
 *.html
-simulation_output_files/
\ No newline at end of file
+simulation_output_files/
+Projects/ValuGaps/
\ No newline at end of file
diff --git a/Projects/ValuGaps/Designs/ort2attr.ngd b/Projects/ValuGaps/Designs/ort2attr.ngd
deleted file mode 100644
index 56a428b..0000000
--- a/Projects/ValuGaps/Designs/ort2attr.ngd
+++ /dev/null
@@ -1,156 +0,0 @@
-Design	Choice situation	alt1.b	alt1.c	alt1.p	alt2.b	alt2.c	alt2.p	Block	
-1	1	2	3	40	3	2	120	5	
-1	2	3	2	80	2	3	120	5	
-1	3	0	1	120	1	0	120	5	
-1	4	1	0	160	0	1	120	5	
-1	5	2	0	120	3	1	80	2	
-1	6	3	1	160	2	0	80	2	
-1	7	0	2	40	1	3	80	2	
-1	8	1	3	80	0	2	80	2	
-1	9	1	2	120	0	3	40	6	
-1	10	0	3	160	1	2	40	6	
-1	11	3	0	40	2	1	40	6	
-1	12	2	1	80	3	0	40	6	
-1	13	3	3	160	3	3	160	1	
-1	14	2	2	120	2	2	160	1	
-1	15	1	1	80	1	1	160	1	
-1	16	0	0	40	0	0	160	1	
-1	17	3	3	80	1	1	80	3	
-1	18	2	2	40	0	0	80	3	
-1	19	1	1	160	3	3	80	3	
-1	20	0	0	120	2	2	80	3	
-1	21	2	2	80	1	1	160	5	
-1	22	3	3	40	0	0	160	5	
-1	23	0	0	160	3	3	160	5	
-1	24	1	1	120	2	2	160	5	
-1	25	0	2	80	3	0	40	1	
-1	26	1	3	40	2	1	40	1	
-1	27	2	0	160	1	2	40	1	
-1	28	3	1	120	0	3	40	1	
-1	29	0	1	40	2	1	160	6	
-1	30	1	0	80	3	0	160	6	
-1	31	2	3	120	0	3	160	6	
-1	32	3	2	160	1	2	160	6	
-1	33	0	2	160	0	1	120	4	
-1	34	1	3	120	1	0	120	4	
-1	35	2	0	80	2	3	120	4	
-1	36	3	1	40	3	2	120	4	
-1	37	0	3	80	2	3	80	4	
-1	38	1	2	40	3	2	80	4	
-1	39	2	1	160	0	1	80	4	
-1	40	3	0	120	1	0	80	4	
-1	41	2	3	160	2	0	40	2	
-1	42	3	2	120	3	1	40	2	
-1	43	0	1	80	0	2	40	2	
-1	44	1	0	40	1	3	40	2	
-1	45	1	2	160	2	0	120	3	
-1	46	0	3	120	3	1	120	3	
-1	47	3	0	80	0	2	120	3	
-1	48	2	1	40	1	3	120	3	
-1	49	2	1	40	1	3	40	3	
-1	50	3	0	80	0	2	40	3	
-1	51	0	3	120	3	1	40	3	
-1	52	1	2	160	2	0	40	3	
-1	53	1	0	40	1	3	120	2	
-1	54	0	1	80	0	2	120	2	
-1	55	3	2	120	3	1	120	2	
-1	56	2	3	160	2	0	120	2	
-1	57	3	0	120	1	0	160	4	
-1	58	2	1	160	0	1	160	4	
-1	59	1	2	40	3	2	160	4	
-1	60	0	3	80	2	3	160	4	
-1	61	3	1	40	3	2	40	4	
-1	62	2	0	80	2	3	40	4	
-1	63	1	3	120	1	0	40	4	
-1	64	0	2	160	0	1	40	4	
-1	65	3	2	160	1	2	80	6	
-1	66	2	3	120	0	3	80	6	
-1	67	1	0	80	3	0	80	6	
-1	68	0	1	40	2	1	80	6	
-1	69	3	1	120	0	3	120	1	
-1	70	2	0	160	1	2	120	1	
-1	71	1	3	40	2	1	120	1	
-1	72	0	2	80	3	0	120	1	
-1	73	1	1	120	2	2	80	5	
-1	74	0	0	160	3	3	80	5	
-1	75	3	3	40	0	0	80	5	
-1	76	2	2	80	1	1	80	5	
-1	77	0	0	120	2	2	160	3	
-1	78	1	1	160	3	3	160	3	
-1	79	2	2	40	0	0	160	3	
-1	80	3	3	80	1	1	160	3	
-1	81	0	0	40	0	0	80	1	
-1	82	1	1	80	1	1	80	1	
-1	83	2	2	120	2	2	80	1	
-1	84	3	3	160	3	3	80	1	
-1	85	2	1	80	3	0	120	6	
-1	86	3	0	40	2	1	120	6	
-1	87	0	3	160	1	2	120	6	
-1	88	1	2	120	0	3	120	6	
-1	89	1	3	80	0	2	160	2	
-1	90	0	2	40	1	3	160	2	
-1	91	3	1	160	2	0	160	2	
-1	92	2	0	120	3	1	160	2	
-1	93	1	0	160	0	1	40	5	
-1	94	0	1	120	1	0	40	5	
-1	95	3	2	80	2	3	40	5	
-1	96	2	3	40	3	2	40	5	
-||||||||||
-design
-;alts = alt1*, alt2*, alt3
-;rows = 72
-;block = 6
-;orth = sim
-
-
-;con
-;model:
-U(alt1) = b1 + b2 * B[0,1,2,3] + b3 * C[0,1,2,3] + b5 * P[40,80,120,160]/
-U(alt2) = b1 + b2 * B          + b3 * C          + b5 * P
- 
-
-
-
-;formatTitle = 'Scenario <scenarionumber> Block <blocknumber>' 
-;formatTableDimensions = 3, 5
-;formatTable:
-1,1 = '' /
-1,2 = 'Share of protected areas' /
-1,3 = 'Share of HNV' /
-1,4 = 'Cost per year' /
-1,5 = 'Choice question&:' /
-2,1 = 'alt1' /
-2,2 = '<alt1.b>' /
-2,3 = '<alt1.c>' /
-2,4 = '<alt1.p>' /
-2,5 = '' /
-3,1 = 'alt2' /
-3,2 = '<alt2.b>' /
-3,3 = '<alt2.c>' /
-3,4 = '<alt2.p>' /
-3,5 = ''
-;formatTableStyle:
-1,1 = 'default' /
-1,2 = 'headingattribute' /
-1,3 = 'headingattribute' /
-1,4 = 'headingattribute' /
-1,5 = 'headingattribute' /
-2,1 = 'heading1' /
-2,2 = 'body1' /
-2,3 = 'body1' /
-2,4 = 'body1' /
-2,5 = 'choice1' /
-3,1 = 'heading2' /
-3,2 = 'body2' /
-3,3 = 'body2' /
-3,4 = 'body2' /
-3,5 = 'choice2'
-;formatStyleSheet = Default.css
-;formatAttributes:
-alt1.b(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt1.c(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt1.p(40=#, 80=#, 120=#, 160=#) /
-alt2.b(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt2.c(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt2.p(40=#, 80=#, 120=#, 160=#)
-$
\ No newline at end of file
diff --git a/Projects/ValuGaps/code/BFN_data.R b/Projects/ValuGaps/code/BFN_data.R
deleted file mode 100644
index 599f0c3..0000000
--- a/Projects/ValuGaps/code/BFN_data.R
+++ /dev/null
@@ -1,53 +0,0 @@
-# Only needed to be run one time to get bfn data
-# can be adjusted to load data for other layers (nationalparks etc.)
-library(xml2)
-library(terra)
-library(sf)
-library(tidyverse)
-library(gdalUtilities)
-
-url <- "https://geodienste.bfn.de/ogc/wfs/schutzgebiet?REQUEST=GetCapabilities&SERVICE=WFS&VERSION=2.0.0"
-wms_capabilities <- read_xml(url)
-
-layers <- st_layers(url)
-
-data_nasc <- read_sf(url, layer= "bfn_sch_Schutzgebiet:Naturschutzgebiete")
-
-data_nasc <- data_nasc %>% mutate(value=1)
-
-ggplot(data=data_nasc) +
-  #geom_sf(data=germany_geo) +
-  geom_sf(fill="darkgreen", col="darkgreen") 
-
-#ggsave("Figures/bfn_map.png", width = 5, height = 4)
-
-
-# Rasterize data  #
-
-# Issue with conversion use function to convert data first before vectorizing
-ensure_multipolygons <- function(X) {
-  tmp1 <- tempfile(fileext = ".gpkg")
-  tmp2 <- tempfile(fileext = ".gpkg")
-  st_write(X, tmp1)
-  ogr2ogr(tmp1, tmp2, f = "GPKG", nlt = "MULTIPOLYGON")
-  Y <- st_read(tmp2)
-  st_sf(st_drop_geometry(X), geom = st_geometry(Y))
-}
-
-data_nasc_con <- ensure_multipolygons(data_nasc)
-
-data_nasc_con <- st_transform(data_nasc_con, crs="epsg:3035")
-
-vec_nasc <- vect(data_nasc_con)
-
-empty_raster <- rast(vec_nasc, resolution(1,1))
-res(empty_raster) <- c(100, 100)
-
-raster_nasc <- rasterize(vec_nasc, empty_raster, "value")
-
-plot(raster_nasc, col="darkgreen")
-
-saveRDS(raster_nasc, "data/gis/protected_bfn_raster.rds")
-
-# Check if conversion and storage worked #
-raster_bfn <- readRDS("data/gis/protected_bfn_raster.rds") # works
diff --git a/Projects/ValuGaps/code/GIS_data.R b/Projects/ValuGaps/code/GIS_data.R
deleted file mode 100644
index 12e44f9..0000000
--- a/Projects/ValuGaps/code/GIS_data.R
+++ /dev/null
@@ -1,115 +0,0 @@
-# Functions to compute shares 
-
-sum_cover <- function(x){
-  list(x %>%
-         group_by(value) %>%
-         summarize(total_area = sum(coverage_area, na.rm=T)) %>%
-         mutate(proportion = total_area/sum(total_area[1:2])))
-  
-}
-
-process_data <- function(data, name_prefix, cover_data) {
-  result <- exact_extract(data, buffer_pts, fun=sum_cover, coverage_area=T, summarize_df=T)
-  col_name <- paste(name_prefix)
-  result <- as.data.frame(sapply(result, function(x) ifelse(length(x$proportion) >= 2, x$proportion[2], 0)))
-  colnames(result) <- col_name
-  result <- result %>% mutate(ID = 1:resps) %>% dplyr::select(ID, everything())
-  return(result)
-}
-
-
-##### Load in GIS data ####
-
-## Draw random points without incorporating actual pop density (old)
-# random_points <- st_sample(germany_geo_county, size = resps)
-# plot(germany_geo) + plot(random_points, add=T)
-
-#### Draw respondents ####
-# Load population density data for Germany
-
-density_raster <- rast("Projects/ValuGaps/data/gis/BBSR_Landnutzung_Bevoelkerung/ewz250_2011_v1_multi.tif")
-  
-
-
-#### Draw cells from raster considering population density as probability weights ####
-
-random_points <- spatSample(density_raster, resps, method="weights", replace= TRUE, as.points=TRUE) 
-# set replace to TRUE to sample with replacement
-
-random_points_ls <- base::split(sample(random_points), 1:length(buffer_dist_ls))
-
-# Draw Buffer around random points 
-
-#### Split samples ####
-buffer_pts_ls <- list()
-
-buffer_pts_ls <- lapply(seq_along(random_points_ls), function(i) {
-  buffered <- buffer(random_points_ls[[i]], buffer_dist_ls[[i]])
-  buffered_sf <- st_as_sf(buffered, crs = crs(hnv))
-  buffered_sf
-})
-
-buffer_pts <- do.call(rbind, buffer_pts_ls)
-
-
-
-### Equalize CRS's to avoid warning message; can be done here without problems as CRS is formally the same anyway
-
-crs(hnv) <- crs(corine_hnv) <- crs(protected_areas) <- crs(corine_pa)
-
-# Compute shares within Buffer with exact_extract and customized functions
-
-
-hnv_shares <- process_data(hnv, "HNV", buffer_pts_ls)
-
-hnv_possible <- process_data(corine_hnv, "HNV_possible", buffer_pts_ls)
-
-protected_shares <- process_data(protected_areas, "protected", buffer_pts_ls)
-
-protected_possible <- process_data(corine_pa, "Protected_possible", buffer_pts_ls)
-
-# Merge protected area shares and HNV shares
-land_cover_shares <- left_join(protected_shares, hnv_shares, by="ID")
-
-possible_shares <- left_join(protected_possible, hnv_possible, by="ID") 
-
-final_set <- left_join(land_cover_shares, possible_shares, by="ID") %>% 
-  mutate(HNV_on_corine = HNV/HNV_possible, Protected_on_corine = protected/Protected_possible,
-         buffer_dist_index = ceiling(row_number() / (resps / length(buffer_dist_ls))),
-         buffer_dist = map_dbl(buffer_dist_index, ~ buffer_dist_ls[[.]]),
-         SQ_HNV = (buffer_dist^2*HNV*pi)/10000,
-         SQ_Prot = (buffer_dist^2*protected*pi)/10000) 
-
-###################################################################################
-#### Overview of GIS shares ####
-
-# library(ggpubr)
-# pa_pl <- ggplot(data=final_set) +
-#   geom_density(aes(x=Protected_on_corine), fill="lightblue") +
-#   xlab("Protected areas (% of possible)") +
-#   xlim(0:1)
-# 
-# hnv_pl <- ggplot(data=final_set) +
-#   geom_density(aes(x=HNV_on_corine), fill="lightblue") +
-#   xlab("HNV (% of possible)") + xlim(0:1)
-# 
-# pa_pos <- ggplot(data=final_set) +
-#   geom_density(aes(x=Protected_possible), fill="yellow") +
-#   xlab("Protected possible share") + xlim(0:1)
-# 
-# hnv_pos <- ggplot(data=final_set) +
-#   geom_density(aes(x=HNV_possible), fill="yellow") +
-#   xlab("HNV possible share") + xlim(0:1)
-# 
-# pa_sq <- ggplot(data=final_set) +
-#   geom_density(aes(x=SQ_Prot), fill="lightgreen") +
-#   xlab("Protected areas SQ (ha)") + xlim(0,40000)
-# 
-# hnv_sq <- ggplot(data=final_set) +
-#   geom_density(aes(x=SQ_HNV), fill="lightgreen") +
-#   xlab("HNV SQ (ha)") + xlim(0,40000)
-# 
-# ggarrange(pa_pl, hnv_pl, pa_pos, hnv_pos, pa_sq, hnv_sq, nrow = 3, ncol=2)
-# 
-# ggsave("Figures/finalset_gis.png", dpi="print", width = 8, height = 6)
-###################################################################################
diff --git a/Projects/ValuGaps/code/makes_things_faster.R b/Projects/ValuGaps/code/makes_things_faster.R
deleted file mode 100644
index e591a2a..0000000
--- a/Projects/ValuGaps/code/makes_things_faster.R
+++ /dev/null
@@ -1,24 +0,0 @@
-# Do some time testing 
-tic()
-crs(buffer_pts) <- crs(hnv)
-hnv_shares <- terra::extract(hnv, buffer_pts, fun= mean, na.rm =T, weights = T)
-toc()
-
-sum_cover <- function(x){
-  list(x %>%
-         group_by(value) %>%
-         summarize(total_area = sum(coverage_area, na.rm=T)) %>%
-         mutate(proportion = total_area/sum(total_area[1:2])))
-  
-}
-
-# More fast but not correct for points at the edge 
-tic()
-poly <- st_as_sf(buffer_pts, crs=crs(hnv))
-test_share <- exact_extract(hnv, poly, fun=sum_cover, coverage_area=T, summarize_df=T)
-test_share <- as.data.frame(sapply(test_share, function(x) ifelse(length(x$proportion) >= 2, x$proportion[2], 0)))
-colnames(test_share) <- "HNV"
-test_share <- test_share %>% mutate(ID = 1:resps)
-toc()
-
-check <- (hnv_shares$eea_r_3035_100_m_hnv.farmland.ac_2012_v1_r00 - test_share$`sapply(test_share, function(x) x$proportion[2])`)
diff --git a/Projects/ValuGaps/code/maps.R b/Projects/ValuGaps/code/maps.R
deleted file mode 100644
index f2b7b70..0000000
--- a/Projects/ValuGaps/code/maps.R
+++ /dev/null
@@ -1,469 +0,0 @@
-library(tidyverse)
-library(tidylog)
-library(apollo)
-library(sf)
-library(terra)
-library(exactextractr)
-library(ggspatial)
-library(viridis)
-
-#### 1 Define parameters and functions ####
-
-buffer_dist = 15000 # distance we use in dce
-
-### Summarizing function
-
-sum_cover <- function(x){
-  list(x %>%
-         group_by(value) %>%
-         summarize(total_area = sum(coverage_area)) %>%
-         mutate(proportion = total_area/sum(total_area)))
-  
-}
-
-#### 2 Load in model data ####
-map_data <- readRDS("output/96_3runs_4designs_mixl_2023-08-14.RDS")
-
-# Use estimates from first simulated model for example map
-
-model1 <- as.data.frame(map_data$ort2attr[[1]]$estimate)
-
-model1 <- rownames_to_column(model1)
-colnames(model1) <- c("Parameter", "Estimate")
-
-#### 3 Read in data for Germany with administrative borders ####
-
-#  https://gadm.org/download_country.html #
-germany_county <- read_sf("data/gadm41_DEU_shp", "gadm41_DEU_2") # county borders
-germany_gemeinde <- read_sf("data/gadm41_DEU_shp", "gadm41_DEU_3") # Gemeinde borders
-
-
-#### 4 Read in CORINE Land cover data ####
-
-corine <- rast("data/gis/corine_raster_2018/DATA/U2018_CLC2018_V2020_20u1.tif")
-germany_geo <- st_transform(germany_county$geometry, crs=crs(corine)) # used to crop corine data to Germany
-corine <- crop(corine, germany_geo)
-corine <-  mask(corine, vect(germany_geo))
-levels(corine)
-
-hnv_categories <- c(12, 14:22, 26:29, 32, 35:37) # see p.37 HNV EUROPE DATA Documentation
-corine_hnv <- corine
-corine_hnv[!(corine_hnv %in% hnv_categories)] <-NA    # Make binary categories
-corine_hnv <- ifel(is.na(corine_hnv), 0, 1)
-corine_hnv <- mask(corine_hnv, vect(germany_geo))
-
-#### 5 High Nature Value (HNV) ####
-
-# Calculate share of HNV for each county
-hnv <- rast("data/gis/hnv_germany.tif")
-
-###### Overlap of HNV and hnv_corine ####
-
-hnv_true <- hnv > 0
-hnv_filtered <- mask(hnv, hnv_true, maskvalue=0)
-
-hnv_on_corine <- intersect(corine_hnv,  hnv_filtered)
-hnv_on_corine <- mask(hnv_on_corine, vect(germany_geo)) #hnv only on the categories where we would expect it
-
-corine_hnv_true <- corine_hnv > 0
-corine_hnv_test <- mask(corine_hnv, corine_hnv_true, maskvalue=0)
-
-germany_county <- st_transform(germany_county, crs(corine_hnv))
-germany_gemeinde <- st_transform(germany_gemeinde, crs(corine_hnv))
-
-##### Calculate actual and possible HNV share for all counties ######
-
-counties <- germany_county$NAME_2
-hnv_list <- list()
-hnv_possible_list <- list()
-
-z= 1
-
-
-for (county in counties) {
-  temp_county <- germany_county %>% filter(NAME_2 == counties[z])
-  hnv_possible_temp <- as.data.frame(
-    exact_extract(corine_hnv, temp_county, coverage_area = TRUE, summarize_df = TRUE, fun = sum_cover)) # caclulate possible area
-  hnv_possible_list[[county]] <- hnv_possible_temp
-  hnv_temp <- as.data.frame(
-    exact_extract(hnv, temp_county, coverage_area = TRUE, summarize_df = TRUE, fun = sum_cover)) # calculate HNV share on total area
-  hnv_list[[county]] <- hnv_temp
-  print(paste0(n_distinct(germany_county$NAME_2) - z, " remaining"))
-  z = z+1
-}
-
-hnv_shares_counties <- as.data.frame(sapply(hnv_list, function(x) x$proportion[2]))
-hnv_shares_counties <- rownames_to_column(hnv_shares_counties)
-hnv_shares_counties$possible <- as.numeric(sapply(hnv_possible_list, function(x) x$proportion[2]))
-colnames(hnv_shares_counties) <- c("County", "HNV_share", "HNV_Possible")
-hnv_shares_counties <- hnv_shares_counties %>% mutate(HNV_share = replace_na(HNV_share, 0), 
-                                                      HNV_on_corine = HNV_share/HNV_Possible) 
-
-
-##### check total HNV area in relation to Germany and Germany agricultural area ####
-hnv_area <- as.data.frame(sapply(hnv_list, function(x) x$total_area[2]))
-names(hnv_area) <- "Area"
-hnv_area_sum <- hnv_area %>% summarize(Total_area = sum(Area, na.rm=T)/10000)
-hnv_area_possible <- as.data.frame(sapply(hnv_possible_list, function(x) x$total_area[2]))
-names(hnv_area_possible) <- "Area"
-hnv_area_sum_possible <- hnv_area_possible %>% summarize(Total_area = sum(Area, na.rm=T)/10000)
-
-share_germany_hnv <- as.numeric(hnv_area_sum)/as.numeric(hnv_area_sum_possible)
-
-
-
-###### Calculate WTP based on share for HNV ####
-
-wtp_hnv <- function(x) {-(model1$Estimate[[4]] + 2*model1$Estimate[5]*x)/model1$Estimate[6]}
-
-hnv_shares_counties <- hnv_shares_counties %>% mutate(WTP_HNV = wtp_hnv(HNV_share*100))
-
-###### Create HNV map ####
-
-# Merge county shapes with data frame
-
-germany_county <- germany_county %>% rename("County" = NAME_2)
-merge_hnv <- hnv_shares_counties %>%  left_join(germany_county, by="County") %>% 
-  select(County, HNV_share, WTP_HNV, geometry)
-
-
-ggplot(data=germany_county) + 
-  geom_sf(fill="gray98", alpha=1) +
-  geom_sf(data=merge_hnv, aes(fill=WTP_HNV, geometry=geometry), size=2) +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  labs(fill= "WTP (€)") +
-  scale_fill_gradientn(colours = c("cornsilk1", "royalblue3")) +
-  theme(plot.margin = unit(c(0.1,0.1,0.1,0.1), "cm")) +
-  ggtitle("WTP for a 1% increase in HNV")
-
-ggsave("Figures/hnv_cont.png", width=6, height=5, dpi="print")
-
-## discontinous map ##
-
-# quantile(merge_hnv$WTP_HNV)
-# merge_hnv$cuts <- cut(merge_hnv$WTP_HNV, breaks = c(14, 22, 30, 38, 47))
-# 
-# 
-# ggplot(data=germany_county) + 
-#   geom_sf(fill="gray98") +
-#   geom_sf(data=merge_hnv, aes(fill=cuts, geometry=geometry), size=2) +
-#   annotation_scale(location = "bl", width_hint = 0.12,plot_unit="m", line_width = 0.5) +
-#   annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-#                          style = north_arrow_fancy_orienteering) +
-#   labs(fill= "WTP (€)") +
-#   scale_fill_manual(values = c("red3","orange", "gold1", "chartreuse3", "forestgreen"),
-#                     labels = c("< -17", " -17 - 0", "0 - 23", "23 - 46", "46 - 64"))
-# 
-# ggsave("Figures/hnv_disc.png", dpi="print", width=7, height=5)
-
-
-#### 6 Protected Areas ####
-
-#### Protected Areas and CORINE
-
-protected_area_categories <- c(10, 12:41) # remove artifical areas except UGS and remove marine waters
-corine_pa <- corine
-corine_pa[!(corine_pa %in% protected_area_categories)] <-NA    # Make binary categories
-corine_pa <- ifel(is.na(corine_pa), 0, 1)
-corine_pa <- mask(corine_pa, vect(germany_geo))
-
-##### Load PA data ######
-
-protected_areas_all <- readRDS("data/gis/germany_protected.rds")
-
-categories_to_drop <- c(0,1,2,3, 4, 6, 8, 11)   # define categories that should not be included in protected areas
-
-protected_areas <- protected_areas_all
-protected_areas[protected_areas %in% categories_to_drop] <-NA    # Make binary categories
-protected_areas <- ifel(is.na(protected_areas), 0, 1)
-protected_areas <- mask(protected_areas, vect(germany_geo))
-
-prot_list <- list()
-prot_possible_list <- list()
-
-z= 1
-for (county in counties) {
- temp_county <- germany_county %>% filter(County == counties[z])
- prot_corine_temp <- as.data.frame(
-   exact_extract(corine_pa, temp_county, coverage_area = TRUE, summarize_df = TRUE, fun = sum_cover))
- prot_possible_list[[county]] <- prot_corine_temp
- prot_temp <- as.data.frame(
-    exact_extract(protected_areas, temp_county, coverage_area = TRUE, summarize_df = TRUE, fun = sum_cover))
-  prot_list[[county]] <- prot_temp
-  z = z+1
-}
-prot_counties <- as.data.frame(sapply(prot_list, function(x) x$proportion[2]))
-prot_counties <- rownames_to_column(prot_counties)
-prot_counties$Prot_Possible <- as.numeric(sapply(prot_possible_list, function(x) x$proportion[2]))
-colnames(prot_counties) <- c("County", "Prot_share", "Prot_possible")
-prot_counties <- prot_counties %>% mutate(Prot_share = replace_na(Prot_share , 0))
-prot_counties <- prot_counties %>% mutate(Prot_share_on_corine = Prot_share/Prot_possible)
-
-
-###### Calculate WTP based on share for Protected areas ####
-
-wtp_prot <- function(x) {-(model1$Estimate[[2]] + 2*model1$Estimate[3]*x)/model1$Estimate[6]}
-
-prot_counties <- prot_counties %>% mutate(WTP_Prot = wtp_prot(Prot_share*100))
-
-merge_prot <- prot_counties %>%  left_join(germany_county, by="County") %>% 
-  select(County, Prot_share, WTP_Prot, geometry)
-
-ggplot(data=germany_county) + 
-  geom_sf(fill="gray98", alpha=1) +
-  geom_sf(data=merge_prot, aes(fill=WTP_Prot, geometry=geometry), size=2) +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  labs(fill= "WTP (€)") +
-  #scale_fill_viridis(option="C")
-  scale_fill_gradientn(colours = c("cornsilk1", "darkgreen")) +
-  theme(plot.margin = unit(c(0.1,0.1,0.1,0.1), "cm"))
-
-
-ggsave("Figures/prot_cont.png",width=6, height=5, dpi="print")
-
-# make map for Gemeinde protected
-
-gemeinden <- germany_gemeinde$NAME_3
-gemeinden_code <- germany_gemeinde$CC_3 # use unique code since names are doubling for some gemeinden 
-prot_list_g <- list()
-
-z= 1
-for (gemeinde in gemeinden) {
-  temp_county <- germany_gemeinde %>% filter(CC_3 == gemeinden_code[z])
-  prot_temp <- as.data.frame(
-    exact_extract(protected_areas, temp_county, coverage_area = TRUE, summarize_df = TRUE, fun = sum_cover))
-  prot_list_g[[gemeinde]] <- prot_temp
-  z = z+1
-}
-
-prot_gemeinde <- as.data.frame(sapply(prot_list_g, function(x) x$proportion[2]))
-prot_gemeinde <- rownames_to_column(prot_gemeinde)
-colnames(prot_gemeinde) <- c("Gemeinde", "Prot_share")
-prot_gemeinde <- prot_gemeinde %>% mutate(Prot_share = replace_na(Prot_share , 0))
-
-
-prot_gemeinde <- prot_gemeinde %>% mutate(WTP_Prot = wtp_prot(Prot_share*100))
-
-germany_gemeinde <- germany_gemeinde %>% rename("Gemeinde" = NAME_3)
-
-merge_prot_g <- prot_gemeinde %>%  left_join(germany_gemeinde, by="Gemeinde") %>% 
-  select(Gemeinde, Prot_share, WTP_Prot, geometry)
-
-ggplot(data=germany_gemeinde) + 
-  geom_sf(fill="gray98", alpha=1) +
-  geom_sf(data=merge_prot_g, aes(fill=WTP_Prot, geometry=geometry), size=2, col="NA") +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  labs(fill= "WTP (€)") +
-  #scale_fill_viridis(option="C")
-  scale_fill_gradientn(colours = c("indianred", "white", "darkseagreen", "darkgreen")) +
-  ggtitle("WTP for a 1% increase in PA Share") +
-  theme(plot.margin = unit(c(0.1,0.1,0.1,0.1), "cm"))
-
-ggsave("Figures/prot_g_cont.png", dpi="print", width=6, height=5)
-
-
-### Do plot for protected shares gemeinde ###
-
-ggplot(data=merge_prot_g) +
-  geom_density(aes(x=Prot_share*100), col="darkseagreen", fill="darkseagreen", alpha=0.5) +
-  xlab("Share of Protected Areas (%)") +
-  ggtitle("Overview Protected Area Shares Gemeinden")
-
-ggsave("Figures/prot_share_g.png", width = 7, height = 5, dpi="print")
-
-
-# Do plot for HNV Share counties
-ggplot(data=merge_hnv) +
-  geom_density(aes(x=HNV_share*100), col="royalblue", fill="royalblue", alpha=0.5) +
-  xlab("HNV Share (%)") +
-  ggtitle("Overview HNV Shares Counties")
-
-ggsave("Figures/hnv_share.png", width = 7, height = 5, dpi="print")
-
-
-### 7 Raster values WTP #####
-
-##### Scaling ####
-
-scale_factor <- pi*(buffer_dist/1000)^2 # Calculate total area that is valued in the DCE as scaling factor
-
-###### Raster HNV (need to work on this further) ####
-#inefficient as hell 
-
-agg_hnv <- aggregate(hnv, fact=10, fun=mean)
-
-check_list <- c(unlist(values(agg_hnv)))
-
-
-# try something, check this 
-agg_hnv_wtp <- -(model1$Estimate[[4]] + 2*model1$Estimate[5]*(check_list*100))/model1$Estimate[6]
-
-values(agg_hnv) <- agg_hnv_wtp/scale_factor
-
-
-
-agg_hnv_gg <- as.data.frame(agg_hnv, xy=TRUE)
-colnames(agg_hnv_gg) <- c("x", "y", "WTP")
-
-# somehow raster only works sometimes, tile works but looks not as nice
-ggplot(data=agg_hnv_gg) +
-  geom_tile(aes(x = x, y = y, fill = WTP)) +
-  coord_quickmap() +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  #scale_fill_viridis(option="C", direction = 1)
-  scale_fill_gradientn(colours = c("gold", "cornsilk1", "royalblue3")) 
-
-ggsave("Figures/hnv_wtp_raster.png", width=6, height=5, dpi="print")
-
-###### Raster protected ####
-
-agg_prot <- aggregate(protected_areas, fact=10, fun=mean)
-
-agg_prot <- mask(agg_prot, germany_county)
-
-values_vec <- c(unlist(values(agg_prot)))
-
-prot_wtp <- -(model1$Estimate[[2]] + 2*model1$Estimate[3]*values_vec*100)/model1$Estimate[6]
-
-values(agg_prot) <- prot_wtp
-
-
-agg_prot_gg <- as.data.frame(agg_prot, xy=TRUE)
-colnames(agg_prot_gg) <- c("x", "y", "WTP")
-
-# Plot protected
-ggplot(data=agg_prot_gg) +
-  geom_raster(aes(x = x, y = y, fill = WTP)) +
-  coord_equal() +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  #scale_fill_viridis(option="C", direction = 1)
-  scale_fill_gradientn(colours = c("cornsilk", "white", "darkseagreen", "darkgreen")) 
-
-ggsave("Figures/prot_wtp_raster.png", width=6, height=5, dpi="print")
-
-#### 8 Load in Pop density data ####
-
-density_raster <- rast("data/gis/BBSR_Landnutzung_Bevoelkerung/ewz250_2011_v1_multi.tif")
-
-dens_rast_1000 <- aggregate(density_raster, fact=4, fun=sum)
-
-dens_gg <- as.data.frame(dens_rast_1000, xy=TRUE)
-colnames(dens_gg) <- c("x", "y", "Density")
-
-
-
-ggplot(data=dens_gg) +
-  geom_tile(aes(x = x, y = y, fill = Density)) +
-  coord_equal() +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  scale_fill_viridis(option="C", direction = 1)
-
-
-#### Calculate people within circle for cell centroids, a lot of work to do here
-library(raster)
-
-# subset for testing code
-
-#subset_extent <- ext(4330000, 4380000, 2780000, 2830000)
-
-#hnv_sub <- crop(agg_hnv, subset_extent)
-hnv_sub <- aggregate(hnv, fact=50, fun=mean) # 5km x 5km cells
-
-hnv_sub_gg <- as.data.frame(hnv_sub, xy=TRUE)
-hnv_sub_gg <- rowid_to_column(hnv_sub_gg, var = "ID")
-hnv_to_merge <- hnv_sub_gg %>% dplyr::select(ID, "HNV_share" = "eea_r_3035_100_m_hnv-farmland-ac_2012_v1_r00")
-
-#### 9 Calculate WTP per cell ####
-check_list <- c(unlist(values(hnv_sub)))
-
-agg_hnv_wtp <- -(model1$Estimate[[4]] + 2*model1$Estimate[5]*(check_list*100))/model1$Estimate[6]
-
-values(hnv_sub) <- agg_hnv_wtp/scale_factor
-
-# transform density raster to same resolution #
-dens_sub <- aggregate(density_raster, fact=20, fun=sum) # 5km x 5km cells
-
-grid <- rast(hnv_sub, vals = values(hnv_sub)) # empty raster
-
-grid_points <- as.points(grid, values=TRUE, na.rm=TRUE, na.all=FALSE)
-
-grid_points_gg <- as.data.frame(grid, xy=TRUE)
-
-
-gridPoints <- SpatialPoints(grid_points_gg)
-
-vec_gP <- vect(gridPoints)
-crs(vec_gP) <- crs(dens_sub)
-
-
-buffer_pts <- buffer(vec_gP, buffer_dist)
-
-# Compute people within Buffer 
-density_in_buffer <- extract(dens_sub, buffer_pts, fun= sum, na.rm =T, weights = TRUE) 
-
-# Check if this is really correct with the ID
-
-grid_points_gg <- rowid_to_column(grid_points_gg, var = "ID")
-                                  
-grid_merge <- left_join(grid_points_gg, density_in_buffer, by="ID")
-
-colnames(grid_merge) <- c("ID", "x", "y", "marg_WTP", "Density")
-
-grid_merge <- left_join(grid_merge, hnv_to_merge, by="ID")
-
-## calculate WTP for 1ha increase, produces infinity values if SQ = 0 ! ##
-#### work on here ### 1% increase is always the same area actually not depended on SQ with the current design
-#need to define this clearly for the DCE #
-# For now assumed that we value 1% increase of HNV on the total land area which is always the same area
-# Aggregated WTP is the Aggregated WTP for a one hectare increase of HNV in the raster cell
-grid_merge <- grid_merge %>% mutate(SQ_HNV = (HNV_share * unique(res(hnv_sub))^2)/10000,
-                                    agg_WTP = marg_WTP*Density/(((unique(res(hnv_sub))^2)/10000)*0.01))
-
-###
-ggplot(data=grid_merge) +
-  geom_tile(aes(x = x, y = y, fill = agg_WTP)) +
-  coord_equal() +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  scale_fill_viridis(option="C", direction = 1)
-
-ggsave("Figures/agg_wtp_example.png", dpi="print", width = 7, height = 5)
-
-
-# discontinuous map with cuts 
-grid_merge$cuts  <- cut(grid_merge$agg_WTP, c(-1000, 0, 100, 200, 350, 1000, 3000, 5000, 8600))
-
-
-
-ggplot(data=grid_merge) +
-  geom_tile(aes(x = x, y = y, fill = cuts)) +
-  coord_equal() +
-  annotation_scale(location = "bl", width_hint = 0.1,plot_unit="m", line_width = 0.1) +
-  annotation_north_arrow(location = "br" ,pad_x = unit(0, "in"), pad_y = unit(0, "in"),
-                         style = north_arrow_fancy_orienteering) +
-  labs(fill="Aggregated WTP (€/ha)") +
-  xlab("") +
-  ylab("") +
-  scale_fill_viridis(option="C", direction = 1, discrete = T, 
-                     labels=c("< 0", "0 - 100", "100 - 200", "200 - 350", "350 - 1,000", "1,000 - 3,000", "3,000 - 5,000",
-                              " > 5,000")) 
-
-ggsave("Figures/agg_wtp_hnv_ex_disc.png", dpi="print", width=6, height = 5)
-
-
-
-
-
diff --git a/Projects/ValuGaps/designsyntax/design syntax.ngs b/Projects/ValuGaps/designsyntax/design syntax.ngs
deleted file mode 100644
index e64339c..0000000
--- a/Projects/ValuGaps/designsyntax/design syntax.ngs	
+++ /dev/null
@@ -1,234 +0,0 @@
-? Orthogonal Design
-
-
-
-
-design
-;alts = alt1*, alt2*, alt3
-;rows = 72
-;block = 6
-;orth = sim
-
-
-;con
-;model:
-U(alt1) = b1 + b2 * B[0,1,2,3] + b3 * C[0,1,2,3] + b5 * P[40,80,120,160]/
-U(alt2) = b1 + b2 * B          + b3 * C          + b5 * P
- 
-
-
-
-;formatTitle = 'Scenario <scenarionumber> Block <blocknumber>' 
-;formatTableDimensions = 3, 5
-;formatTable:
-1,1 = '' /
-1,2 = 'Share of protected areas' /
-1,3 = 'Share of HNV' /
-1,4 = 'Cost per year' /
-1,5 = 'Choice question&:' /
-2,1 = 'alt1' /
-2,2 = '<alt1.b>' /
-2,3 = '<alt1.c>' /
-2,4 = '<alt1.p>' /
-2,5 = '' /
-3,1 = 'alt2' /
-3,2 = '<alt2.b>' /
-3,3 = '<alt2.c>' /
-3,4 = '<alt2.p>' /
-3,5 = ''
-;formatTableStyle:
-1,1 = 'default' /
-1,2 = 'headingattribute' /
-1,3 = 'headingattribute' /
-1,4 = 'headingattribute' /
-1,5 = 'headingattribute' /
-2,1 = 'heading1' /
-2,2 = 'body1' /
-2,3 = 'body1' /
-2,4 = 'body1' /
-2,5 = 'choice1' /
-3,1 = 'heading2' /
-3,2 = 'body2' /
-3,3 = 'body2' /
-3,4 = 'body2' /
-3,5 = 'choice2'
-;formatStyleSheet = Default.css
-;formatAttributes:
-alt1.b(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt1.c(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt1.p(40=#, 80=#, 120=#, 160=#) /
-alt2.b(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt2.c(0=#0% more, 1=#0% more, 2=#0% more, 3=#0% more) /
-alt2.p(40=#, 80=#, 120=#, 160=#)
-$
-
-
-
-
-
-
-
-??? Baysian Efficient Design 1
-
-design
-;alts = alt1*, alt2*, alt3
-;rows = 36
-;block = 3
-;eff = (mnl,d,mean)
-;rep = 1000
-;bdraws = halton(1000)
-;con
-;model:
-U(alt1) = b1[(n,-1.2,0.1)] + b2[(n,0.1,0.02)] * B[0,1] + b3[(n,0.4,0.1)] * C[0,1]  + b4[(n,0.3,0.1)] * D[0,1] + b5[(n,0.02,0.001)] * P[35:83:6]/
-U(alt2) =  b6[(n,-1.4,0.1)] + b2               * B      + b3            * C       + b4            * D      + b5                       * P
-?U(alt3) = 
-
-;formatTitle = 'Scenario <scenarionumber>'
-;formatTableDimensions = 3, 6
-;formatTable:
-1,1 = '' /
-1,2 = 'Results' /
-1,3 = 'Beratung' /
-1,4 = 'Partner' /
-1,5 = 'Kompensation' /
-1,6 = 'Choice question&:' /
-2,1 = 'alt1' /
-2,2 = '<alt1.b>' /
-2,3 = '<alt1.c>' /
-2,4 = '<alt1.d>' /
-2,5 = '<alt1.p>' /
-2,6 = '' /
-3,1 = 'alt2' /
-3,2 = '<alt2.b>' /
-3,3 = '<alt2.c>' /
-3,4 = '<alt2.d>' /
-3,5 = '<alt2.p>' /
-3,6 = ''
-;formatTableStyle:
-1,1 = 'default' /
-1,2 = 'headingattribute' /
-1,3 = 'headingattribute' /
-1,4 = 'headingattribute' /
-1,5 = 'headingattribute' /
-1,6 = 'headingattribute' /
-2,1 = 'heading1' /
-2,2 = 'body1' /
-2,3 = 'body1' /
-2,4 = 'body1' /
-2,5 = 'body1' /
-2,6 = 'choice1' /
-3,1 = 'heading2' /
-3,2 = 'body2' /
-3,3 = 'body2' /
-3,4 = 'body2' /
-3,5 = 'body2' /
-3,6 = 'choice2'
-;formatStyleSheet = Default.css
-;formatAttributes:
-alt1.b(0=Results, 1=Action) /
-alt1.c(0=Keine Beratung, 1=Mit Beratung) /
-alt1.d(0=Keine Partner, 1=Mit Partner) /
-alt1.p(35=#0, 41=#0, 47=#0, 53=#0, 59=#0, 65=#0, 71=#0, 77=#0, 83=#0) /
-alt2.b(0=Results, 1=Action) /
-alt2.c(0=Keine Beratung, 1=Mit Beratung) /
-alt2.d(0=Keine Partner, 1=Mit Partner) /
-alt2.p(35=#0, 41=#0, 47=#0, 53=#0, 59=#0, 65=#0, 71=#0, 77=#0, 83=#0)
-$
-
-
-
-?Efficient Design
-
-
-
-design
-;alts = alt1*, alt2*, alt3
-;rows = 36
-;block = 3
-;eff = (mnl,d)
-;rep = 1000
-
-;con
-;model:
-U(alt1) = b1[-1.2] + bPROT[0.1] * B[0,10,20] + bHNV[0.1] * C[0,10,20]  + bPROTACC[0.2] * D[0,1,2] + bHNVACC[0.1] * E[0,1] +bPRICE[-0.02] *P[40,80,120,160,200,300]/ 
-U(alt2) = b1       + bPROT      * B          + bHNV      * C           + bPROTACC      * D        + bHNVACC      * E      +bPRICE        *P[40,80,120,160,200,300] 
-?U(alt3) = 
-
-
-$
-
-
-
-
-
-
-?Bad prior Design
-
-
-design
-;alts = alt1*, alt2*, alt3
-;rows = 18
-;block = 2
-;eff = (mnl,d)
-;rep = 1000
-
-?;con
-;model:
-U(alt1) = b1[-10] + b2[9] * B[0,1] + b3[4] * C[0,1]  + b4[0.3] * D[0,1] + b5[0.02] * P[35:83:6]/
-U(alt2) =  b6[-1.4] + b2               * B      + b3            * C       + b4            * D      + b5                       * P
-
-
-;formatTitle = 'Scenario <scenarionumber>'
-;formatTableDimensions = 3, 6
-;formatTable:
-1,1 = '' /
-1,2 = 'Results' /
-1,3 = 'Beratung' /
-1,4 = 'Partner' /
-1,5 = 'Kompensation' /
-1,6 = 'Choice question&:' /
-2,1 = 'alt1' /
-2,2 = '<alt1.b>' /
-2,3 = '<alt1.c>' /
-2,4 = '<alt1.d>' /
-2,5 = '<alt1.p>' /
-2,6 = '' /
-3,1 = 'alt2' /
-3,2 = '<alt2.b>' /
-3,3 = '<alt2.c>' /
-3,4 = '<alt2.d>' /
-3,5 = '<alt2.p>' /
-3,6 = ''
-;formatTableStyle:
-1,1 = 'default' /
-1,2 = 'headingattribute' /
-1,3 = 'headingattribute' /
-1,4 = 'headingattribute' /
-1,5 = 'headingattribute' /
-1,6 = 'headingattribute' /
-2,1 = 'heading1' /
-2,2 = 'body1' /
-2,3 = 'body1' /
-2,4 = 'body1' /
-2,5 = 'body1' /
-2,6 = 'choice1' /
-3,1 = 'heading2' /
-3,2 = 'body2' /
-3,3 = 'body2' /
-3,4 = 'body2' /
-3,5 = 'body2' /
-3,6 = 'choice2'
-;formatStyleSheet = Default.css
-;formatAttributes:
-alt1.b(0=Results, 1=Action) /
-alt1.c(0=Keine Beratung, 1=Mit Beratung) /
-alt1.d(0=Keine Partner, 1=Mit Partner) /
-alt1.p(35=#0, 41=#0, 47=#0, 53=#0, 59=#0, 65=#0, 71=#0, 77=#0, 83=#0) /
-alt2.b(0=Results, 1=Action) /
-alt2.c(0=Keine Beratung, 1=Mit Beratung) /
-alt2.d(0=Keine Partner, 1=Mit Partner) /
-alt2.p(35=#0, 41=#0, 47=#0, 53=#0, 59=#0, 65=#0, 71=#0, 77=#0, 83=#0)
-$
-
-
-
diff --git a/Projects/ValuGaps/parameters_valugaps.R b/Projects/ValuGaps/parameters_valugaps.R
deleted file mode 100644
index 8e3e7fc..0000000
--- a/Projects/ValuGaps/parameters_valugaps.R
+++ /dev/null
@@ -1,129 +0,0 @@
-
-library(raster)
-library(terra)
-library(sf)
-library("rnaturalearth")
-library("rnaturalearthdata")
-library("exactextractr")
-
-
-designpath<- "Projects/ValuGaps/Designs/"
-
-
-
-
-
-hnv <- rast("Projects/ValuGaps/data/gis/hnv_germany.tif")
-
-# Load in HNV raster data (preprocessed)
-
-
-# Load BFN protected areas data
-
-protected_areas <- readRDS("Projects/ValuGaps/data/gis/protected_bfn_raster.rds")
-
-##############################################################################################
-# Load in Protected areas data (preprocessed) (protected planet data, comment out if use bfn data)
-
-# protected_areas_all <- readRDS("Projects/ValuGaps/data/gis/germany_protected.rds")
-# levels(protected_areas_all)
-# 
-# categories_to_drop <- c(1,3, 4, 6, 8, 9, 11)   # define categories that should not be included in protected areas
-# # keeps nationalparks, nature conservation areas and UNESCO biosphere reserve
-# 
-# protected_areas <- protected_areas_all
-# protected_areas[protected_areas %in% categories_to_drop] <-NA    # Make binary categories
-# 
-# names(protected_areas) <- "value"
-##############################################################################################
-
-
-# Code protected areas as zero/one 
-protected_areas <- ifel(is.na(protected_areas), 0, 1)
-
-
-
-# Load in shapefile of germany
-germany_sf <- read_sf("Projects/ValuGaps/data/gis/WDPA_WDOECM_Feb2023_Public_DEU_shp/gadm41_DEU_shp", "gadm41_DEU_0") # no county borders
-germany_sf_county <- read_sf("Projects/ValuGaps/data/gis/WDPA_WDOECM_Feb2023_Public_DEU_shp/gadm41_DEU_shp", "gadm41_DEU_2")
-
-germany_geo <- st_transform(germany_sf$geometry, crs=crs(protected_areas)) # transform to raster crs
-germany_geo_county <- st_transform(germany_sf_county$geometry, crs=crs(protected_areas))
-
-
-#### Read in CORINE Land cover data ####
-
-corine <- rast("Projects/ValuGaps/data/gis/corine_raster_2018/DATA/U2018_CLC2018_V2020_20u1.tif")
-germany_geo_c <- st_transform(germany_sf_county$geometry, crs=crs(corine)) # used to crop corine data to Germany
-corine <- crop(corine, germany_geo_c)
-corine <-  mask(corine, vect(germany_geo_c))
-levels(corine)
-
-hnv_categories <- c(12, 14:22, 26:29, 32, 35:37) # see p.37 HNV EUROPE DATA Documentation
-corine_hnv <- corine
-corine_hnv[!(corine_hnv %in% hnv_categories)] <-NA    # Make binary categories
-corine_hnv <- ifel(is.na(corine_hnv), 0, 1)
-corine_hnv <- mask(corine_hnv, vect(germany_geo_c))
-corine_hnv <- mask(corine_hnv, hnv)
-
-
-#### Protected areas CORINE
-protected_area_categories <- c(10, 12:41) # remove artificial areas except UGS and remove marine waters
-corine_pa <- corine
-corine_pa[!(corine_pa %in% protected_area_categories)] <-NA    # Make binary categories
-corine_pa <- ifel(is.na(corine_pa), 0, 1)
-corine_pa <- mask(corine_pa, vect(germany_geo_c))
-
-protected_areas <- mask(protected_areas, vect(germany_geo_c))
-####
-
-
-
-#### Define simulation parameters ####
-
-resps = 96  # number of respondents 
-nosim=1  # number of simulations to run (about 500 is minimum)
-#buffer_dist <- 15000
-
-buffer_dist_ls <- list(10000, 15000, 25000, 50000) # define radius for the respondents in meter
-
-
-# betacoefficients should not include "-"
-basc = 0.5
-bb = 1.2
-bb2 = -0.016
-bc= 1.4
-bc2 = -0.0175
-bp=-0.03
-
-mani1 = expr(left_join(final_set, by="ID"))
-
-manipulations = list(
-#expr(across(c("HNV_on_corine", "Protected_on_corine"), ~replace_na(.,0)) ),
-alt1.protected = expr(alt1.b+Protected_on_corine*100),
-alt2.protected = expr(alt2.b+Protected_on_corine*100),
-alt3.protected = expr(Protected_on_corine*100),
-alt1.HNV       = expr(alt1.b+HNV_on_corine*100),
-alt2.HNV       = expr(alt2.b+HNV_on_corine*100),
-alt3.HNV       = expr(HNV_on_corine*100),
-expr(across(.cols=matches("HNV|protected"),.fns =  ~.x^2, .names = "{.col}{'sq'}" ) )
-
-
-)
-
-#place your utility functions here
-
-u<-list( u1= list(
-  v1 =V.1~ basc + bb * alt1.protected +  bb2 * alt1.protectedsq + bc * alt1.HNV + bc2 * alt1.HNVsq + bp * alt1.p , 
-  v2 =V.2~ basc + bb * alt2.protected +  bb2 * alt2.protectedsq + bc * alt2.HNV + bc2 * alt2.HNVsq + bp * alt2.p ,
-  v3 =V.3~        bb * alt3.protected +  bb2 * alt3.protectedsq + bc * alt3.HNV + bc2 * alt3.HNVsq )
-)
-
-
-
-## this function will be called before the data is simulated
-sou_gis <- function() {
-  
-  source("Projects/ValuGaps/code/GIS_data.R")
-  
-}
diff --git a/Projects/feedadditives/Designs/Design efficient 27112023.ngd b/Projects/feedadditives/Designs/Design efficient 27112023.ngd
new file mode 100644
index 0000000..42ebd49
--- /dev/null
+++ b/Projects/feedadditives/Designs/Design efficient 27112023.ngd	
@@ -0,0 +1,44 @@
+Design	Choice situation	opt1.cow	opt1.adv	opt1.vet	opt1.far	opt1.met	opt1.bon	opt2.cow	opt2.adv	opt2.vet	opt2.far	opt2.met	opt2.bon	Block	
+1	1	1	0	1	0	1	5	0	1	1	1	3	3	2	
+1	2	1	1	1	1	0	2	1	0	0	0	3	7	2	
+1	3	0	1	0	1	2	7	1	0	0	0	0	6	1	
+1	4	0	1	0	0	1	4	0	0	1	1	2	5	1	
+1	5	1	1	1	0	0	4	0	0	0	1	1	2	2	
+1	6	0	0	1	1	2	6	1	1	0	0	0	5	2	
+1	7	0	0	0	0	2	3	1	1	1	1	1	0	2	
+1	8	0	0	1	0	0	7	1	1	0	1	2	4	1	
+1	9	1	1	1	0	3	6	0	0	1	1	1	4	1	
+1	10	0	1	0	1	0	0	1	0	1	0	3	1	1	
+1	11	1	0	1	0	2	0	0	1	0	1	0	6	1	
+1	12	1	0	1	1	1	3	0	1	1	0	2	1	1	
+1	13	0	0	0	1	3	1	1	1	0	0	2	2	1	
+1	14	1	1	0	1	1	1	0	0	1	0	3	0	2	
+1	15	0	1	0	0	3	5	1	0	0	1	0	7	2	
+1	16	1	0	0	1	3	2	0	1	1	0	1	3	2	
+||||||||||
+design  
+ ;alts = opt1*, opt2*, opt3  
+ ;eff = (mnl, d)  
+ ;alg = swap  
+ ;rows = 16  
+ ;block = 2  
+ ;model:  
+ U(opt1) = b1[0.2] * COW[0,1]    
+         + b2[0.2] * ADV[0,1]    
+         + b3[0.2] * VET[0,1]    
+         + b4[0.2] * FAR[0,1]    
+         + b5.dummy[0.1|0.2|0.3] * MET[1,2,3,0]      
+         + b6.dummy[0.3|0.5|0.65|0.75|0.8|0.83|0.85] * BON[1,2,3,4,5,6,7,0]           
+         + i1[0] * COW.dummy[0] * VET.dummy[1]  
+ /  
+ U(opt2) = b1 * COW  
+         + b2 * ADV  
+         + b3 * VET  
+         + b4 * FAR  
+         + b5 * MET      
+         + b6 * BON     
+         + i1 * COW.dummy[0] * VET.dummy[1]  
+/  
+ U(opt3) = asc3[0.2]  
+;
+$
\ No newline at end of file
diff --git a/Projects/feedadditives/Designs/Design efficient continuous coding 27112023.ngd b/Projects/feedadditives/Designs/Design efficient continuous coding 27112023.ngd
new file mode 100644
index 0000000..018d8d6
--- /dev/null
+++ b/Projects/feedadditives/Designs/Design efficient continuous coding 27112023.ngd	
@@ -0,0 +1,44 @@
+Design	Choice situation	opt1.cow	opt1.adv	opt1.vet	opt1.far	opt1.met	opt1.bon	opt2.cow	opt2.adv	opt2.vet	opt2.far	opt2.met	opt2.bon	Block	
+1	1	1	1	1	1	1	1	1	0	0	0	3	7	2	
+1	2	1	1	1	0	2	6	0	0	1	1	2	1	2	
+1	3	0	1	0	1	3	0	0	0	1	0	0	4	2	
+1	4	1	0	1	0	1	2	1	1	0	1	2	7	1	
+1	5	0	0	0	0	1	3	1	1	0	1	3	2	2	
+1	6	1	1	1	1	0	5	0	0	1	0	4	3	1	
+1	7	0	1	0	1	4	2	1	0	1	0	0	6	1	
+1	8	0	0	0	0	2	7	0	1	1	1	2	0	2	
+1	9	0	0	1	1	3	6	1	1	0	0	1	2	2	
+1	10	1	0	0	0	4	3	0	1	1	1	0	6	1	
+1	11	1	0	0	1	0	4	0	1	0	0	4	5	1	
+1	12	1	1	0	0	0	4	1	0	1	1	4	4	2	
+1	13	0	1	1	0	3	5	1	0	0	1	1	3	1	
+1	14	0	1	1	0	2	0	0	0	0	1	1	0	1	
+1	15	0	0	0	1	0	7	1	1	1	0	3	1	1	
+1	16	1	0	1	1	4	1	0	1	0	0	0	5	2	
+||||||||||
+design  
+ ;alts = opt1*, opt2*, opt3  
+ ;eff = (mnl, d)  
+ ;alg = swap  
+ ;rows = 16  
+ ;block = 2  
+ ;model:  
+ U(opt1) = b1[0.2] * COW[0,1]    
+         + b2[0.2] * ADV[0,1]    
+         + b3[0.2] * VET[0,1]    
+         + b4[0.2] * FAR[0,1]    
+         + b5[0.1] * MET[0,1,2,3,4]      
+         + b6[0.2] * BON[0,1,2,3,4,5,6,7]           
+         + i1[0] * COW.dummy[0] * VET.dummy[1]  
+ /  
+ U(opt2) = b1 * COW  
+         + b2 * ADV  
+         + b3 * VET  
+         + b4 * FAR  
+         + b5 * MET      
+         + b6 * BON     
+         + i1 * COW.dummy[0] * VET.dummy[1]  
+/  
+U(opt3) = asc3[0.2]  
+;
+$
\ No newline at end of file
diff --git a/Projects/feedadditives/Designs/Design orthogonal 27112023.ngd b/Projects/feedadditives/Designs/Design orthogonal 27112023.ngd
new file mode 100644
index 0000000..38ad583
--- /dev/null
+++ b/Projects/feedadditives/Designs/Design orthogonal 27112023.ngd	
@@ -0,0 +1,91 @@
+Design	Choice situation	opt1.cow	opt1.adv	opt1.vet	opt1.far	opt1.met	opt1.bon	opt2.cow	opt2.adv	opt2.vet	opt2.far	opt2.met	opt2.bon	Block	
+1	1	0	0	0	0	0	1	1	0	1	0	3	0	8	
+1	2	0	0	0	0	1	6	0	1	1	1	0	5	1	
+1	3	0	0	0	0	2	1	0	1	0	0	0	0	4	
+1	4	0	0	0	0	3	6	0	0	0	0	2	1	5	
+1	5	0	1	0	0	3	3	0	1	1	1	1	2	5	
+1	6	0	1	0	0	2	0	0	1	1	1	2	5	3	
+1	7	0	1	0	0	1	3	1	0	0	0	2	4	1	
+1	8	0	1	0	0	0	0	0	0	0	0	1	6	6	
+1	9	1	0	0	0	3	7	0	0	0	1	2	3	2	
+1	10	1	0	0	0	2	4	0	0	1	1	3	7	8	
+1	11	1	0	0	0	1	7	0	0	0	1	1	0	4	
+1	12	1	0	0	0	0	4	0	1	1	0	3	4	4	
+1	13	1	1	0	0	0	5	0	0	1	0	2	2	3	
+1	14	1	1	0	0	1	2	1	0	1	1	3	6	2	
+1	15	1	1	0	0	2	5	1	0	1	1	0	1	5	
+1	16	1	1	0	0	3	2	1	0	0	1	2	2	7	
+1	17	0	0	1	0	0	2	1	0	1	1	1	6	4	
+1	18	0	0	1	0	1	5	0	1	1	0	0	7	1	
+1	19	0	0	1	0	2	2	0	1	0	0	3	3	7	
+1	20	0	0	1	0	3	5	1	0	0	1	3	5	2	
+1	21	0	1	1	0	3	4	1	1	1	0	3	1	5	
+1	22	0	1	1	0	2	7	1	0	1	0	0	3	1	
+1	23	0	1	1	0	1	4	0	0	0	0	0	1	5	
+1	24	0	1	1	0	0	7	0	1	1	1	3	2	8	
+1	25	1	0	1	0	3	0	1	0	1	0	2	3	4	
+1	26	1	0	1	0	2	3	1	0	0	1	1	5	6	
+1	27	1	0	1	0	1	0	1	0	0	0	0	4	4	
+1	28	1	0	1	0	0	3	0	1	0	0	1	3	6	
+1	29	1	1	1	0	0	6	1	1	0	0	3	2	6	
+1	30	1	1	1	0	1	1	0	0	1	0	3	5	7	
+1	31	1	1	1	0	2	6	1	0	0	0	1	7	3	
+1	32	1	1	1	0	3	1	1	1	1	1	2	0	7	
+1	33	0	0	0	1	3	0	1	1	1	1	3	3	8	
+1	34	0	0	0	1	2	3	0	0	1	1	1	7	5	
+1	35	0	0	0	1	1	0	0	0	1	1	2	4	3	
+1	36	0	0	0	1	0	3	1	1	0	1	3	4	2	
+1	37	0	1	0	1	0	6	0	0	0	0	3	6	8	
+1	38	0	1	0	1	1	1	0	0	1	0	1	5	6	
+1	39	0	1	0	1	2	6	1	0	1	1	2	1	2	
+1	40	0	1	0	1	3	1	1	1	1	0	0	6	8	
+1	41	1	0	0	1	0	2	0	1	0	1	2	6	5	
+1	42	1	0	0	1	1	5	1	1	0	1	0	7	7	
+1	43	1	0	0	1	2	2	0	1	1	0	2	7	1	
+1	44	1	0	0	1	3	5	1	1	1	0	1	1	8	
+1	45	1	1	0	1	3	4	0	1	1	0	1	4	3	
+1	46	1	1	0	1	2	7	0	0	0	1	3	0	4	
+1	47	1	1	0	1	1	4	1	0	1	0	1	0	7	
+1	48	1	1	0	1	0	7	0	0	1	0	0	2	3	
+1	49	0	0	1	1	3	7	1	1	1	0	2	6	3	
+1	50	0	0	1	1	2	4	1	0	0	0	3	7	1	
+1	51	0	0	1	1	1	7	0	1	0	1	0	6	7	
+1	52	0	0	1	1	0	4	1	1	0	0	1	2	4	
+1	53	0	1	1	1	0	5	1	1	0	0	2	5	5	
+1	54	0	1	1	1	1	2	0	1	0	1	1	1	2	
+1	55	0	1	1	1	2	5	0	0	1	1	0	4	8	
+1	56	0	1	1	1	3	2	1	1	0	1	1	4	6	
+1	57	1	0	1	1	0	1	1	0	0	1	0	2	3	
+1	58	1	0	1	1	1	6	1	1	0	0	0	5	6	
+1	59	1	0	1	1	2	1	1	1	1	1	1	3	1	
+1	60	1	0	1	1	3	6	0	0	0	1	0	3	6	
+1	61	1	1	1	1	3	3	1	1	1	1	0	0	2	
+1	62	1	1	1	1	2	0	0	1	0	0	2	0	1	
+1	63	1	1	1	1	1	3	0	1	0	1	3	1	2	
+1	64	1	1	1	1	0	0	1	1	0	1	2	7	7	
+||||||||||
+design  
+ ;alts = opt1*, opt2*, opt3  
+ ;orth = seq    
+ ;rows = 64  
+ ;block = 8  
+ ;model:  
+ U(opt1) = b1[0.2] * COW[0,1]    
+         + b2[0.2] * ADV[0,1]    
+         + b3[0.2] * VET[0,1]    
+         + b4[0.2] * FAR[0,1]    
+         + b5.dummy[0.1|0.2|0.3] * MET[1,2,3,0]      
+         + b6.dummy[0.3|0.5|0.65|0.75|0.8|0.83|0.85] * BON[1,2,3,4,5,6,7,0]           
+         + i1[0] * COW.dummy[0] * VET.dummy[1]  
+ /  
+ U(opt2) = b1 * COW  
+         + b2 * ADV  
+         + b3 * VET  
+         + b4 * FAR  
+         + b5 * MET      
+         + b6 * BON     
+         + i1 * COW.dummy[0] * VET.dummy[1]  
+/  
+ U(opt3) = asc3[0.2]  
+;
+$
\ No newline at end of file
-- 
GitLab