-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHEAT350_preprocessing.R
More file actions
113 lines (93 loc) · 3.37 KB
/
HEAT350_preprocessing.R
File metadata and controls
113 lines (93 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# KA - Kattegat
# DS - Danish Straits
# AR - Arkona Basin
# BN - Bornholm Basin
# GS - Baltic Proper
# GR - Gulf of Riga
# GF - Gulf of Finland
# BS - Bothnian Sea
# BB - Bothnian Bay
rm(list=ls())
library(dplyr)
library(plyr)
library(tidyr)
library(sqldf)
StnID = c("KA","DS","AR","BN","GS","GR","GF","BS","BB")
StnName = c("Kattegat","Danish Straits","Arkona Basin","Bornholm Basin","Baltic Proper",
"Gulf of Riga","Gulf of Finland","Bothnian Sea","Bothnian Bay")
OD=c(0,0,1,1,1,1,1,1,1) # indicates if there is an oxygen debt dataset for this WB
dfStns = data.frame(StnID,StnName,OD, stringsAsFactors = FALSE)
dfStns[,"StnID"] <- factor(dfStns[,"StnID"], levels = StnID)
Scenario<-c("nhiresaffBAU30years_2","nhiresaffPLC55_2",
"nhiresaffBSAP30years_2","nhiresaffBSAP_2")
ScenarioID<-c("BAU30","PLC55","BSAP30","BSAP")
Scenarios<-data.frame(ScenarioID,Scenario,stringsAsFactors = FALSE)
Scenarios[,"ScenarioID"] <- factor(Scenarios[,"ScenarioID"], levels = ScenarioID)
Criteria<-c("Causative factors","Direct effects","Indirect effects")
CriteriaID<-c("C1","C2","C3")
#Criteria<-data.frame(Criteria)
n<-0
for(i in 1:nrow(Scenarios)) {
for(j in 1:nrow(dfStns)) {
n<-n+1
filename<-print(paste0("./data/bärbel/",Scenarios[i,"Scenario"],"/",dfStns[j,"StnID"],".txt"))
print(filename)
dftemp<-read.table(filename, header=TRUE,sep="\t", stringsAsFactors=FALSE)
dftemp$Scenario<-Scenarios[i,"ScenarioID"]
dftemp$StnID<-dfStns[j,"StnID"]
if (exists("df") && is.data.frame(get("df"))){
df<-bind_rows(df,dftemp)
}else{
df<-dftemp
}
rm(list=c("dftemp","filename"))
if(dfStns[j,"OD"]==1){
filename<-print(paste0("./data/bärbel/",Scenarios[i,"Scenario"],"/",dfStns[j,"StnID"],"_O2debt.txt"))
print(filename)
dftemp<-read.table(filename, header=TRUE,sep="\t", stringsAsFactors=FALSE)
dftemp$Scenario<-Scenarios[i,"ScenarioID"]
dftemp$StnID<-dfStns[j,"StnID"]
if (exists("dfOD") && is.data.frame(get("dfOD"))){
dfOD<-bind_rows(dfOD,dftemp)
}else{
dfOD<-dftemp
}
rm(list=c("dftemp","filename"))
}
}
}
Parameters<-c("O2debt")
for(i in 1:length(Parameters)){
ColList<-c("Scenario","StnID","Year",Parameters[i])
dftemp<-dfOD[,ColList]
dftemp$Parameter<-Parameters[i]
names(dftemp)[names(dftemp) == Parameters[i]] <- "Status"
if (exists("dflong") && is.data.frame(get("dflong"))){
dflong<-bind_rows(dflong,dftemp)
}else{
dflong<-dftemp
}
rm(list=c("dftemp"))
}
Parameters<-c("Chla","Secchi","DIN","PO4")
for(i in 1:length(Parameters)){
ColList<-c("Scenario","StnID","Year",Parameters[i])
dftemp<-df[,ColList]
dftemp$Parameter<-Parameters[i]
names(dftemp)[names(dftemp) == Parameters[i]] <- "Status"
if (exists("dflong") && is.data.frame(get("dflong"))){
dflong<-bind_rows(dflong,dftemp)
}else{
dflong<-dftemp
}
rm(list=c("dftemp"))
}
targets<-read.table('./data/targets.txt', header=TRUE,sep="\t", stringsAsFactors=FALSE,quote="", encoding="UTF-8")
targets<-left_join(targets,dfStns[,c("StnID","StnName")],by=c("Basin"="StnName"))
targets[,"Criteria"]<-factor(targets[,"Criteria"],levels=Criteria)
targets[,"CriteriaID"]<-factor(targets[,"CriteriaID"],levels=CriteriaID)
df<-dflong
rm(list=c("dflong","dfOD"))
df<-left_join(df,targets)
df$Response<-ifelse(df$Parameter %in% c("Secchi"),"-","+")
saveRDS(df, file="data/HEAT350.rds")