Auswertung Ertrag/Qualität N-Versuch Weizen

Authors
Affiliation

Henning Kage

Institute of Crop Science and Plant Breeding, Agronomy and Crop Science, Christian-Albrechts-University, Kiel, Germany

Henning Kage

Institute of Crop Science and Plant Breeding, Agronomy and Crop Science, Christian-Albrechts-University, Kiel, Germany

Published

September 12, 2024

Keywords

Wheat, Yield, Nitrogen fertilisation

1 N-Versuch

1.1 Versuchsanlage

Der N-Versuch Hohenschulen wurde im Jahr 1974 angelegt. Die aktuelle Fruchtfolge ist Raps – Ackerbohnen - Weizen - Gerste. Als Prüffrüchte werden Weizen und Raps angebaut. Ackerbohnen und Gerste dienen als Ausgleichsfrüchte. Die N-Nachwirkungen werden durch die parzellenmäßige Beerntung von Ackerbohnen und Gerste erfasst.

1.2 N-Düngung

Die N-Düngung erfolgte in 3 Gaben mit jeweils 4 Stufen: 0, 40, 80 und 120 N/ha in voller faktorieller Kombination. Es ergeben sich 64 N-Varianten. Die Düngung erfolgte in Form von Ammoniumnitrat.

1.3 Datenauswahl

Die Versuchsdaten liegen in zwei Dateien vor. Die Erträge sind in der Datei “Erträge_Weizen_2003_2024.csv” und die N-Konzentrationen in der Datei “NKonz_Weizen_2003_2024.csv” abgelegt. Die Daten werden eingelesen und zusammengeführt. Die Erträge werden auf 90 % der Parzellenerträge umgerechnet. Die N-Düngungsgaben werden in N-Gesamt zusammengefasst. Der Stickstoffentzug und die Stickstoffeffizienz werden berechnet. Die Proteingehalte werden berechnet und auf fehlende Werte geprüft. Die N-Stufen werden als Faktoren definiert.

### Ertrag einlesen und verarbeiten ###
Yield <- read.table(file="Erträge_Weizen_2003_2024.csv",
    header=TRUE, sep=";", quote="", dec=".",
    stringsAsFactors=FALSE, fileEncoding="latin1")

Yield <- subset(Yield, select=c(-VN, -Frucht, -Fungizid,
    -Aehren, -Koerner, -TKM))

names(Yield)[names(Yield)=="Ertrag_14_prz"] <- "Ertrag"

# Ab 2019 Ertragsangaben in t/ha vorher dt/ha
Yield$Ertrag <- ifelse(Yield$Jahr < 2019, Yield$Ertrag/10*0.9, Yield$Ertrag*0.9)

#summary(Yield[Yield$Jahr==2018,"Ertrag"])
#summary(Yield[Yield$Jahr==2019,"Ertrag"])


### N-Konzentration einlesen und verarbeiten ###
NKon <- read.table(file="NKonz_Weizen_2003_2024.csv",
    header=TRUE, sep=";", quote="", dec=".",
    stringsAsFactors=FALSE, fileEncoding="latin1")

NKon <- subset(NKon, select=c(-VN, -Frucht))

### Daten zusammenfügen ###
NVersuch <- merge(Yield, NKon)
rm(Yield, NKon)

NVersuch$Jahr <- as.factor(NVersuch$Jahr)
NVersuch$Schlag <- as.factor(NVersuch$Schlag)
NVersuch$Parzelle <- as.factor(NVersuch$Parzelle)
NVersuch$Sorte <- as.factor(NVersuch$Sorte)

NVersuch$NGes <- NVersuch$N1 + NVersuch$N2 + NVersuch$N3
NVersuch$Protein <- NVersuch$N_prz*5.7
#summary(NVersuch$Protein)
NVersuch$Protein <- ifelse(NVersuch$Protein < 1, NA,NVersuch$Protein)
summary(NVersuch$Protein)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  6.954  11.001  12.882  12.581  14.193  18.001      10 
NVersuch$NEntzug <- NVersuch$N_prz/100 * NVersuch$Ertrag*1000*0.86
NVersuch$Neff <- NVersuch$NEntzug/NVersuch$NGes
  
NVersuch$N1Stufe <- as.factor(NVersuch$N1)
NVersuch$N2Stufe <- as.factor(NVersuch$N2)
NVersuch$N3Stufe <- as.factor(NVersuch$N3)
NVersuch$NGesStufe <- as.factor(NVersuch$NGes)
str(NVersuch)
'data.frame':   2811 obs. of  17 variables:
 $ Jahr     : Factor w/ 22 levels "2003","2004",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Schlag   : Factor w/ 8 levels "1","2","3","4",..: 2 2 2 2 2 2 2 2 2 2 ...
 $ Parzelle : Factor w/ 64 levels "1","2","3","4",..: 1 10 11 12 13 14 15 16 17 18 ...
 $ Sorte    : Factor w/ 4 levels "Julius","LG_Character",..: 3 3 3 3 3 3 3 3 3 3 ...
 $ N1       : int  120 80 40 0 0 40 80 120 120 80 ...
 $ N2       : int  0 0 0 0 0 0 0 0 80 80 ...
 $ N3       : int  120 80 80 80 0 0 0 0 120 120 ...
 $ Ertrag   : num  9.73 9.12 8.55 6.25 4.46 ...
 $ N_prz    : num  2.42 2.09 2 2.09 1.29 1.22 1.32 1.58 2.43 2.4 ...
 $ NGes     : int  240 160 120 80 0 40 80 120 320 280 ...
 $ Protein  : num  13.79 11.91 11.4 11.91 7.35 ...
 $ NEntzug  : num  202.5 163.9 147.1 112.3 49.4 ...
 $ Neff     : num  0.844 1.024 1.226 1.403 Inf ...
 $ N1Stufe  : Factor w/ 4 levels "0","40","80",..: 4 3 2 1 1 2 3 4 4 3 ...
 $ N2Stufe  : Factor w/ 4 levels "0","40","80",..: 1 1 1 1 1 1 1 1 3 3 ...
 $ N3Stufe  : Factor w/ 4 levels "0","40","80",..: 4 3 3 3 1 1 1 1 4 4 ...
 $ NGesStufe: Factor w/ 10 levels "0","40","80",..: 7 5 4 3 1 2 3 4 9 8 ...
#head(NVersuch)

In dieser Auswertung werden die Daten aus den Jahren 2003 bis 2024 verwendet. Der Datensaatz umfasst 2811 Datensätze.

1.4 Lineare Modelle für Ertrag, Protein und N-Entzug

Für die Auswertung des Datensatzes wurden zunächst lineare Modelle für den Ertrag, den Proteingehalt und den N-Entzug erstellt. Die Modelle enthalten alle möglichen Interaktionen der Faktoren Jahr, N1, N2 und N3. Die Modelle wurden mit der Funktion lm erstellt.

##################################
#                                #
#   Auswertung Ertragsfunktion   #
#                                #
##################################
        
# YieldMod <- lm(Ertrag ~ Jahr + N1 + N2 + N3 + I(N1^2) + I(N2^2) + I(N3^2) + 
#       Jahr:N1 + Jahr:N2 + Jahr:N3 + Jahr:I(N1^2) + Jahr:I(N2^2) + Jahr:I(N3^2) + 
#       N1:N2 + N1:N3 + N2:N3 + 
#       N1:I(N2^2) + N1:I(N3^2) + N2:I(N1^2) + N2:I(N3^2) + N3:I(N1^2) + N3:I(N2^2) + 
#       I(N1^2):I(N2^2) + I(N1^2):I(N3^2) + I(N2^2):I(N3^2) + 
#       Jahr:N1:N2 + Jahr:N1:N3 + Jahr:N2:N3 + Jahr:N1:I(N2^2) + Jahr:N1:I(N3^2) + Jahr:N2:I(N1^2) + Jahr:N2:I(N3^2) + Jahr:N3:I(N1^2) + Jahr:N3:I(N2^2) + 
#       Jahr:I(N1^2):I(N2^2) + Jahr:I(N1^2):I(N3^2) + Jahr:I(N2^2):I(N3^2) + 
#       N1:N2:N3 + 
#       N1:N2:I(N3^2) + N1:N3:I(N2^2) + N2:N3:I(N1^2) + 
#       N1:I(N2^2):I(N3^2) + N2:I(N1^2):I(N3^2) + N3:I(N1^2):I(N2^2)+ 
#       I(N1^2):I(N2^2):I(N3^2) + 
#       Jahr:N1:N2:N3 + 
#       Jahr:N1:N2:I(N3^2) + Jahr:N1:N3:I(N2^2) + Jahr:N2:N3:I(N1^2) + 
#       Jahr:N1:I(N2^2):I(N3^2) + Jahr:N2:I(N1^2):I(N3^2) + Jahr:N3:I(N1^2):I(N2^2) +
#       Jahr:I(N1^2):I(N2^2):I(N3^2), data=NVersuch)

YieldMod <- lm(Ertrag ~ Jahr + N1 + N2 + N3 + I(N1^2) + I(N2^2) + I(N3^2) + 
        Jahr:N1 + Jahr:N2 + Jahr:N3 + Jahr:I(N1^2) + Jahr:I(N2^2) + Jahr:I(N3^2) + 
        N1:N2 + N1:N3 + N2:N3 + 
        N1:I(N2^2) + N1:I(N3^2) + N2:I(N1^2) + N2:I(N3^2) + N3:I(N1^2) + N3:I(N2^2) + 
        I(N1^2):I(N2^2) + I(N1^2):I(N3^2) + I(N2^2):I(N3^2) + 
        Jahr:N1:N2 + Jahr:N1:N3 + Jahr:N2:N3 + Jahr:N1:I(N2^2) + Jahr:N1:I(N3^2) + Jahr:N2:I(N1^2) + Jahr:N2:I(N3^2) + Jahr:N3:I(N1^2) + Jahr:N3:I(N2^2) + 
        Jahr:I(N1^2):I(N2^2) + Jahr:I(N1^2):I(N3^2) + Jahr:I(N2^2):I(N3^2), data=NVersuch)

NEntzMod <- lm(NEntzug ~ Jahr + N1 + N2 + N3 + I(N1^2) + I(N2^2) + I(N3^2) + 
                 Jahr:N1 + Jahr:N2 + Jahr:N3 + Jahr:I(N1^2) + Jahr:I(N2^2) + Jahr:I(N3^2) + 
                 N1:N2 + N1:N3 + N2:N3 + 
                 N1:I(N2^2) + N1:I(N3^2) + N2:I(N1^2) + N2:I(N3^2) + N3:I(N1^2) + N3:I(N2^2) + 
                 I(N1^2):I(N2^2) + I(N1^2):I(N3^2) + I(N2^2):I(N3^2) + 
                 Jahr:N1:N2 + Jahr:N1:N3 + Jahr:N2:N3 + Jahr:N1:I(N2^2) + Jahr:N1:I(N3^2) + Jahr:N2:I(N1^2) + Jahr:N2:I(N3^2) + Jahr:N3:I(N1^2) + Jahr:N3:I(N2^2) + 
                 Jahr:I(N1^2):I(N2^2) + Jahr:I(N1^2):I(N3^2) + Jahr:I(N2^2):I(N3^2), data=NVersuch)




ProtMod <- lm(Protein ~ Jahr + N1 + N2 + N3 + I(N1^2) + I(N2^2) + I(N3^2) + 
        Jahr:N1 + Jahr:N2 + Jahr:N3 + Jahr:I(N1^2) + Jahr:I(N2^2) + Jahr:I(N3^2) + 
        N1:N2 + N1:N3 + N2:N3 + 
        N1:I(N2^2) + N1:I(N3^2) + N2:I(N1^2) + N2:I(N3^2) + N3:I(N1^2) + N3:I(N2^2) + 
        I(N1^2):I(N2^2) + I(N1^2):I(N3^2) + I(N2^2):I(N3^2) + 
        Jahr:N1:N2 + Jahr:N1:N3 + Jahr:N2:N3 + Jahr:N1:I(N2^2) + Jahr:N1:I(N3^2) + Jahr:N2:I(N1^2) + Jahr:N2:I(N3^2) + Jahr:N3:I(N1^2) + Jahr:N3:I(N2^2) + 
        Jahr:I(N1^2):I(N2^2) + Jahr:I(N1^2):I(N3^2) + Jahr:I(N2^2):I(N3^2), data=NVersuch)

Auf eine Vereinfachung des Modells wurde verzichtet, um eine bestmögliche Beschreibung der Daten zu erreichen.

anova(YieldMod)
Analysis of Variance Table

Response: Ertrag
                       Df  Sum Sq Mean Sq   F value    Pr(>F)    
Jahr                   21 1472.50   70.12  225.7076 < 2.2e-16 ***
N1                      1 1922.21 1922.21 6187.4438 < 2.2e-16 ***
N2                      1 1815.33 1815.33 5843.4074 < 2.2e-16 ***
N3                      1  315.58  315.58 1015.8321 < 2.2e-16 ***
I(N1^2)                 1  122.06  122.06  392.9148 < 2.2e-16 ***
I(N2^2)                 1  144.81  144.81  466.1258 < 2.2e-16 ***
I(N3^2)                 1   43.23   43.23  139.1477 < 2.2e-16 ***
Jahr:N1                21   87.72    4.18   13.4459 < 2.2e-16 ***
Jahr:N2                21  147.32    7.02   22.5813 < 2.2e-16 ***
Jahr:N3                21   60.61    2.89    9.2906 < 2.2e-16 ***
Jahr:I(N1^2)           21   12.46    0.59    1.9095  0.007598 ** 
Jahr:I(N2^2)           21   20.21    0.96    3.0973 2.671e-06 ***
Jahr:I(N3^2)           21    6.93    0.33    1.0623  0.382808    
N1:N2                   1  584.57  584.57 1881.7022 < 2.2e-16 ***
N1:N3                   1   20.12   20.12   64.7514 1.325e-15 ***
N2:N3                   1   49.21   49.21  158.4173 < 2.2e-16 ***
N1:I(N2^2)              1   17.94   17.94   57.7435 4.261e-14 ***
N1:I(N3^2)              1    2.25    2.25    7.2287  0.007225 ** 
N2:I(N1^2)              1    0.24    0.24    0.7602  0.383360    
N2:I(N3^2)              1    5.69    5.69   18.3197 1.941e-05 ***
N3:I(N1^2)              1    0.96    0.96    3.0876  0.079019 .  
N3:I(N2^2)              1    0.13    0.13    0.4136  0.520209    
I(N1^2):I(N2^2)         1    0.01    0.01    0.0343  0.853156    
I(N1^2):I(N3^2)         1    0.07    0.07    0.2202  0.638911    
I(N2^2):I(N3^2)         1    0.00    0.00    0.0000  0.999639    
Jahr:N1:N2             21   35.74    1.70    5.4779 1.472e-14 ***
Jahr:N1:N3             21   10.95    0.52    1.6777  0.027437 *  
Jahr:N2:N3             21    8.94    0.43    1.3703  0.120933    
Jahr:N1:I(N2^2)        21   11.56    0.55    1.7722  0.016497 *  
Jahr:N1:I(N3^2)        21   11.18    0.53    1.7136  0.022676 *  
Jahr:N2:I(N1^2)        21   13.69    0.65    2.0980  0.002460 ** 
Jahr:N2:I(N3^2)        21    9.80    0.47    1.5021  0.066318 .  
Jahr:N3:I(N1^2)        21    4.16    0.20    0.6384  0.893139    
Jahr:N3:I(N2^2)        21    8.04    0.38    1.2322  0.212686    
Jahr:I(N1^2):I(N2^2)   21    6.43    0.31    0.9858  0.477756    
Jahr:I(N1^2):I(N3^2)   21    4.99    0.24    0.7651  0.765278    
Jahr:I(N2^2):I(N3^2)   21    4.78    0.23    0.7324  0.802730    
Residuals            2387  741.55    0.31                        
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

1.5 Optmierung

Grundlage für die Optimierung ist zunächst die Berechnung der N-kostenfreien Leistung. Diese wird als Differenz zwischen Erlös und N-Kosten definiert, die N-Kosten ergeben sich aus der Düngungshöhe und dem N-Preis (1 [€/kg N]). Der Erlös wird aus dem Ertrag und dem Preis für Weizen berechnet. Der Preis für Weizen wird in drei Qualitätsstufen unterteilt: A, B und C. Die Klassen werden durch den Proteingehalt bestimmt. Der Preis für Weizen der Klasse A beträgt 201.5 [€/t], für Klasse B 200 [€/t] und für Klasse C 180 [€/t].

Die Ermittlung der optimalen N-Düngung erfolgt durch die Auswahl der N-Düngungskombination mit der maximalen der N-kostenfreien Leistung. Hierzu werden unter Verwendung der linearen Modelle für Ertrag und N-Konzentration in Schritten von 1 kg N/ha von 0-120 kg N/ha für jede der N-Teilgaben die Erträge und Proteingehalte berechnet.

Diese Vorgehensweise ist durch die nichtstetige Preisfunktion (Qualitätsstufen) für Weizen motiviert, die den Erfolg von Optimierungsalgorithmen erschwert.

Dieser Prozess ist rechenintensiv und kann einige Zeit in Anspruch nehmen. Die Ergebnisse werden daher in der Datei df_2003_2024.RData gespeichert und können bei Bedarf geladen werden, bzw. die Neuberechung erfolgt nur bei Bedarf.

Predict.New <- FALSE

if (Predict.New == T) {
Jahre <- unique(NVersuch$Jahr)
N1s <- seq(0, 120, 10)
N2s <- seq(0, 120, 10)
N3s <- seq(0, 120, 10)
df_pred <- expand.grid(N1=N1s, N2=N2s, N3=N3s, Jahr=Jahre) 
df_pred$NEntz <- predict(object = NEntzMod, newdata = df_pred)
df_pred$Nges <- df_pred$N1+df_pred$N3+df_pred$N3
df_pred$Neff <- df_pred$NEntz/df_pred$Nges



N1sopt <- seq(0, 120, 1)
N2sopt <- seq(0, 120, 1)
N3sopt <- seq(0, 120, 1)


#df <- data_frame(N1=0, N2=0, N3=0, Jahr=0, Ertrag=0, Protein=0)

df <- data.frame()

for (year in Jahre) {
  Year <- as.factor(year)
  print(Year)
  df_opt <- expand.grid(N1=N1sopt, N2=N2sopt, N3=N3sopt, Jahr=Year) 
  df_opt$Ertrag <- predict(object = YieldMod, newdata = df_opt)
  df_opt$Protein <- predict(object = ProtMod, newdata = df_opt)
  df <- rbind(df, df_opt)
}
df$NKombi <- paste(as.character(df$N1), as.character(df$N2), as.character(df$N3), sep="_")


df$Nges <- df$N1+df$N2+df$N3
df$NEntz <- df$Ertrag*0.86*1000*df$Protein/5.7/100
df$Quali <- "C"
df$Quali[df$Protein>11.5] <- "B"
df$Quali[df$Protein>13.0] <- "A"
df$Preis <- CPreis
df$Preis[df$Quali=="B"] <- BPreis
df$Preis[df$Quali=="A"] <- APreis
df$Erl <- df$Ertrag*df$Preis
df$NKFL <- df$Erl - df$Nges*NPreis


save(df, file="df_2003_2024.RData") } else {
  
  load("df_2003_2024.RData")
  
}

Bei der Optimierung gibt es jeweils den Ansatz der jahresspezifischen Optimierung der N-Düngungshöhe ( ex post ) und den Ansatz der jahresübergreifenden Optimierung ( ex ante ).

df_maxNKFL <- df %>% group_by(Jahr) %>% slice_max(n = 1, order_by = NKFL) %>% ungroup()


df_ExAntemaxNKFL <- df %>% group_by(NKombi) %>% dplyr::summarise(NKFL=mean(NKFL, na.rm = T)) %>% slice_max(n = 1, order_by = NKFL) %>% ungroup()


df_maxNKFL$Düngeempfehlung <- "optimal"

1.5.1 Ex post Optimierung

Die mittlere optimale N-Düngungshöhe beträgt 236 kg N/ha. Die optimale N-Düngungshöhe schwankt zwischen 190 und 298 kg N/ha. Die optimale N-Düngungshöhe und deren Aufteilung auf die einzelnen N-Gaben ist in Abbildung dargestellt. Sie liegt damit deutlich höher als die zulässige Düngung nach Düngeverordnung (200 [kg N/ha]).

Figure 1: Verteilung der N-Düngung auf die Teilgaben für eine ökonomisch optimale N-Düngung
# select N-combinations lower than allowed N rate according to DueV
df_optDuV <- df[df$Nges<=DueVNMenge,] 

# select the N-Kombination with the highest NKFL over all years
df_ExAnteDueV <- df_optDuV %>% group_by(NKombi) %>% dplyr::summarise(NKFL=mean(NKFL, na.rm = T)) %>% slice_max(n = 1, order_by = NKFL) %>% ungroup()

df_optDuV <- df_optDuV %>% group_by(Jahr) %>% slice_max(n = 1, order_by = NKFL) %>% ungroup()
df_optDuV$Düngeempfehlung <- "DüV"




df_optDuV_20 <- df[df$Nges<=DueVNMenge_20,] 
df_ExAnteDueV_20 <- df_optDuV_20 %>% group_by(NKombi) %>% dplyr::summarise(NKFL=mean(NKFL, na.rm = T)) %>% slice_max(n = 1, order_by = NKFL) %>% ungroup()

df_optDuV_20 <- df_optDuV_20 %>% group_by(Jahr) %>% slice_max(n = 1, order_by = NKFL) %>% ungroup()
df_optDuV_20$Düngeempfehlung <- "DüV-20%"

#df_optDuV$NKombi <- NULL
#df_optDuV_20$NKombi <- NULL
df_comp <- rbind(df_maxNKFL, df_optDuV, df_optDuV_20)

1.5.1.1 Erträge ex post

Die Erträge liegen für die optimale N-Düngungshöhe bei 9.7 t/ha. Die Erträge für die Düngung nach Düngeverordnung und die Düngung um 20 % reduziert liegen bei 9.3 t/ha und 8.8 t/ha. Die Erträge sind in Abbildung dargestellt.

Figure 2: Winterweizenerträge mit unterschiedlichen Düngungsintensitäten (ex post)

1.5.1.2 Proteingehalte ex post

Die Proteingehalte liegen für die optimale N-Düngungshöhe bei 13.4 %. Die Proteingehalte für die Düngung nach Düngeverordnung und die Düngung um 20 % reduziert liegen bei 12.5 % und 11.8 %. Die Proteingehalte sind in Abbildung dargestellt.

Figure 3: Rohproteinkonzentration bei unterschiedlichen Düngungsintensitäten (ex post)

1.5.1.3 N-Kostenfreie Leistung ex post

Die N-kostenfreie Leistung liegt für die optimale N-Düngungshöhe bei 1709.7 €/ha. Die N-kostenfreie Leistung für die Düngung nach Düngeverordnung und die Düngung um 20 % reduziert liegen bei 1671 €/ha und 1594.9 €/ha. Die N-kostenfreie Leistung ist in Abbildung dargestellt.

Figure 4: N-kostenfreie Leistung bei unterschiedlichen Düngungsintensitäten (ex post)

1.5.2 Ex ante Optimierung

df_ExAntemaxNKFL$Düngeempfehlung <- "ExAnte-optimal"
df_ExAnteDueV$Düngeempfehlung <- "ExAnte-DüV"
df_ExAnteDueV_20$Düngeempfehlung <- "ExAnte-DüV-20%"

df_ExAnte <- rbind(df_ExAntemaxNKFL, df_ExAnteDueV, df_ExAnteDueV_20)

df_ExAnte <- df_ExAnte %>% separate_wider_delim(NKombi, delim="_", names=c("N1", "N2", "N3"))
df_ExAnte$N1 <- as.numeric(df_ExAnte$N1)
df_ExAnte$N2 <- as.numeric(df_ExAnte$N2)
df_ExAnte$N3 <- as.numeric(df_ExAnte$N3)
df_ExAnte$Nges <- df_ExAnte$N1+df_ExAnte$N2+df_ExAnte$N3

Jahre <- unique(NVersuch$Jahr)

df_ExAntel <- do.call("rbind", replicate(length(Jahre), df_ExAnte, simplify = FALSE)) 
df_ExAntel$Jahr <- rep(Jahre, each=nrow(df_ExAnte))

df_ExAntel$Nges <- df_ExAntel$N1+df_ExAntel$N2+df_ExAntel$N3
df_ExAntel$Ertrag <- predict(object = YieldMod, newdata = df_ExAntel)
df_ExAntel$Protein <- predict(object = ProtMod, newdata = df_ExAntel)
df_ExAntel$mNKFL <- df_ExAntel$NKFL

df_ExAntemaxNKFL <- df_ExAntel %>% filter(Düngeempfehlung=="ExAnte-optimal")
df_ExAnteDueV <- df_ExAntel %>% filter(Düngeempfehlung=="ExAnte-DüV")
df_ExAnteDueV_20 <- df_ExAntel %>% filter(Düngeempfehlung=="ExAnte-DüV-20%")



df_ExAntel$NEntz <- df_ExAntel$Ertrag*0.86*1000*df_ExAntel$Protein/5.7/100
df_ExAntel$Quali <- "C"
df_ExAntel$Quali[df_ExAntel$Protein>11.5] <- "B"
df_ExAntel$Quali[df_ExAntel$Protein>13.0] <- "A"
df_ExAntel$Preis <- CPreis
df_ExAntel$Preis[df_ExAntel$Quali=="B"] <- BPreis
df_ExAntel$Preis[df_ExAntel$Quali=="A"] <- APreis
df_ExAntel$Erl <- df_ExAntel$Ertrag*df_ExAntel$Preis
df_ExAntel$NKFL <- df_ExAntel$Erl - df_ExAntel$Nges*NPreis
df_ExAntel$Jahr <- as.numeric(as.character(df_ExAntel$Jahr))

Die ex ante ökonomisch optimale N-Düngungshöhe beträgt 243 kg N/ha und ist damit höher als der Mittelwert der jahesspezifischen ökonomisch optimalen N-Düngung (‘r round(mean(df_maxNKFL$Nges),0)’). Die N-kostenfreie Leistung bei ex ante optimaler Düngung beträgt 1641 €/ha im Vergleich zu 1710 €/ha bei ex post optimaler Düngung. Die ex ante optimale Düngung liegt damit über der zulässigen Düngung nach Düngeverordnung (200 [kg N/ha]).

1.5.2.1 Erträge ex ante

Der Ertrag bei ex ante optimaler Düngung beträgt 9.4 t/ha, der Proteingehalt 13.6 % .

Die Erträge, Proteingehalte und N-kostenfreie Leistungen sind in Abbildung , und dargestellt.

Figure 5: Winterweizenerträge mit unterschiedlichen Düngungsintensitäten (ex ante)

1.5.2.2 Proteingehalte ex ante

Die Proteingehalte liegen für die optimale N-Düngungshöhe bei 13.6 %. Die Proteingehalte für die Düngung nach Düngeverordnung und die Düngung um 20 % reduziert liegen bei 12.8 % und 12.1 %. Die Proteingehalte sind in Abbildung dargestellt.

Figure 6: Rohproteinkonzentration bei unterschiedlichen Düngungsintensitäten (ex ante)

1.5.2.3 N-Kostenfreie Leistung ex ante

Die N-kostenfreie Leistung liegt für die optimale N-Düngungshöhe bei 1641.4 €/ha. Die N-kostenfreie Leistung für die Düngung nach Düngeverordnung und die Düngung um 20 % reduziert liegen bei 1618.2 €/ha und 1504.4 €/ha. Die N-kostenfreie Leistung ist in Abbildung dargestellt.

Figure 7: N-kostenfreie Leistung bei unterschiedlichen Düngungsintensitäten (ex ante)

Citation

BibTeX citation:
@online{kage2024,
  author = {Kage, Henning and Kage, Henning},
  title = {Auswertung {Ertrag/Qualität} {N-Versuch} {Weizen}},
  date = {2024-09-12},
  langid = {en}
}
For attribution, please cite this work as:
Kage, Henning, and Henning Kage. 2024. “Auswertung Ertrag/Qualität N-Versuch Weizen.” In Preparation. September 12, 2024.