Die europäische Wasserrahmen­richtlinie (WRRL): die Grundlage

Wasser kennt keine Grenzen. Darum endet das Thema auch nicht an den Grenzen Baden-Württembergs. Viele Herausforderungen können nur grenzüberschreitend oder gesamteuropäisch gemeistert werden. Darum hat die EU im Jahr 2000 mit der Wasserrahmenrichtlinie (WRRL) europaweite Standards definiert, um den guten Zustand der europäischen Gewässer zu erhalten oder wiederherzustellen. Wir machen in Baden-Württemberg auf dieser konkreten Basis unsere Gewässer besser.

 
 

Ein ganzheitlicheres Verständnis von Wasser: „Den guten Zustand unserer Gewässer erhalten oder wiederherstellen…“ – so beschreibt die Wasserrahmenrichtlinie ihr Ziel. Was bedeutet „guter Zustand“? Nun, früher wurde hier fast ausschließlich die chemische Belastung des Wassers betrachtet. Die WRRL setzt dem nun ein ganzheitlicheres Verständnis entgegen – und betrachtet unsere Gewässer – also alle Flüsse, Bäche, Seen und das Grundwasser – auch als Lebensräume.

 

Konkrete Maßnahmen für bessere Gewässer

Aus diesem ganzheitlicheren Verständnis ergeben sich verschiedene Ziele und Tätigkeitsfelder. Dort greifen wir mit konkreten Maßnahmen in die Gewässer ein, um sie zu verbessern. Hier sind sieben dieser Maßnahmen in den jeweiligen Bereichen exemplarisch dargestellt.

 

Raue Rampe und Fischtreppe – damit der Fluss keine Einbahnstraße ist

Eine Raue Rampe ist eine aus Steinen gebaute Stromschnelle. Eine Fischtreppe ist ein technisches Bauwerk aus vielen kleinen Becken. Beides hilft Fischen, Höhenunterschiede im Gewässer zu überwinden.

Revitalisierung – aus Kanälen werden wieder Lebensräume

Bei einer Revitalisierung wird aus einem gleichförmigen Kanal aus Stein und Beton ein strukturreiches und möglichst dynamisches Fließgewässer. So finden Fische und andere Wasserlebewesen, die hier früher natürlich vorkamen, wieder Lebensräume.

Auen – Lebensraum und Hochwasserschutz der Natur

Die Aue wird regelmäßig überschwemmt und ist zum Beispiel als Lebensraum ein wichtiger Teil eines Gewässers. Für Fische dient die Aue als Kinderstube. Intakte Auen sind auch für den Menschen gut, da sie Wasser zurückhalten und somit dem Hochwasserschutz dienen.

Mindestwasser – damit Gewässer nicht trockenfallen

Wasserentnahmen, wie beispielsweise durch Wasserkraftanlagen, können Abschnitte des Gewässers ökologisch beeinträchtigen. Damit sich diese in Grenzen halten, wird eine Mindestwassermenge im Fluss definiert und sichergestellt, sodass der Fluss immer durchgängig bleibt. Durchgängig ist ein Gewässer dann, wenn Fische und andere Wassertiere es durchwandern können.

Kläranlagen – gute Reinigung des Abwassers

Häusliche und industrielle Abwässer belasten die Gewässer und können eine Gefährdung für die menschliche Gesundheit darstellen, wenn sie nicht vor Einleitung in das Gewässer ausreichend behandelt werden. Kläranlagen reinigen das Abwasser – in mechanischen und biologischen Reinigungsstufen – von organischen Schadstoffen und reduzieren Nährstoffe, wie zum Beispiel Phosphor. Besondere Aufmerksamkeit widmen wir in letzter Zeit beispielsweise den Rückständen von Arzneistoffen, Pflanzenschutzmitteln oder Haushaltschemikalien, die sich im Gewässer als Spurenstoffe nachweisen lassen. Einige davon können bereits in sehr geringen Konzentrationen von weniger als einem Millionstel Gramm pro Liter der Umwelt schaden.

Regenwasseranlagen – zum Schutz der Gewässer

Bei Regenwetter werden Schmutz und Feststoffpartikel von Straßen, Dächern und sonstigen befestigten Flächen abgeschwemmt und in die Kanalisation eingeleitet. Auch die im Kanalnetz abgelagerten Schmutzstoffe werden mitgeschwemmt. Soweit möglich sammeln wir Regenwasser getrennt vom Schmutzwasser und leiten es danach – je nachdem, woher es kommt, mit oder ohne Behandlung – in ein oberirdisches Gewässer ein oder lassen es verdunsten und versickern. Alternativ, wenn dies möglich ist, sammeln wir das Regenwasser in Regenüberlaufbecken und leiten es nach Regenende der Kläranlage zu.

Gewässerschonende Landbewirtschaftung – Nährstoffe nützen den Pflanzen und nicht dem Gewässer

Gewässerrandstreifen – mit Gehölzen bewachsen oder auch als Blühstreifen mit mehrjährigen nektar- und pollenspendenden Flächen angelegt – verhindern das Abschwemmen von Nährstoffen in die Oberflächengewässer. Darüber hinaus schützt ein ordnungsgemäßer Einsatz von Düngemitteln das Grundwasser.

 
 

Ziele und Handlungsfelder

Was will die WRRL erreichen? Sie setzt ein eindeutiges übergeordnetes Umweltziel: Flüsse, Seen, Küsten- und Übergangsgewässer sowie das Grundwasser sollen in einem „guten Zustand“ sein. Nur Gewässer in gutem Zustand können ihre vielfältigen Leistungen für den Menschen und die Umwelt langfristig erbringen. Bei Oberflächengewässern bewerten wir hierbei den ökologischen Zustand beziehungsweise das ökologische Potenzial und den chemischen Zustand. Beim Grundwasser sind es der chemische Zustand und die Menge. In Baden-Württemberg erreichen viele Gewässer diesen Zustand derzeit noch nicht. Um die Ziele der WRRL zukünftig erreichen zu können, haben wir diese Handlungsfelder identifiziert:

[TARGET]
 
 

Vitale Gewässer

Was vitale Gewässer auszeichnet und warum sie für die Umwelt und uns Menschen wichtig sind, das zeigen und erklären diese Videos sehr anschaulich.

 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> formField.getValue().getString(locale)  [in template "blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" at line 56, column 49]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign Bildnachweis = formField.getV...  [in template "blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" in function "getCopyrightText" at line 56, column 25]
----
1<#import "/blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" as common> 
2 
3<#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
4<#assign namespace = randomNamespace /> 
5 
6<section class="slider-hero ${(SliderTyp??)?then(SliderTyp.getData(), "")}" id="slider_${namespace}"> 
7    <div class="slides-list" aria-roledescription="Karusell"> 
8 
9        <#list Slide.getSiblings() as curSlide> 
10 
11            <#assign hasLink = false /> 
12            <#assign linkTarget = "" /> 
13            <#assign linkHref= "" /> 
14            <#assign linkText = "weiterlesen" /> 
15            <#assign linkTitle = "Artikel weiterlesen" /> 
16            <#assign slideUniqueId = namespace + '_' + curSlide?index /> 
17 
18 
19            <#if curSlide.Headline?? && curSlide.Headline.getData()?has_content> 
20                <#assign AltText = curSlide.Headline.getData() /> 
21            </#if> 
22 
23            <#assign Copyright = "" /> 
24            <#if (common.getCopyrightText(curSlide.Image.data)!"") != ""> 
25                <#assign Copyright = common.getCopyrightTag("",curSlide.Image.data) /> 
26            </#if> 
27 
28            <div class="slide" role="group" aria-roledescription="Folie" aria-label="Folie ${curSlide?index + 1} von ${Slide.siblings?size}"> 
29                <div class="slide-content"> 
30                    <#if (curSlide.Youtube?? && curSlide.Youtube.getData()?has_content) && (curSlide.Image?? && curSlide.Image?has_content)> 
31                            <#assign videoId = curSlide.Youtube.getData()/> 
32 
33                            <#if videoId?starts_with("http")> 
34                                <#assign videoId = videoId?split("/")[3]> 
35                            </#if> 
36 
37                            <div class="slide-content-video video" id="video_${slideUniqueId}"> 
38                                <img src="${common.getScaledImageURL(curSlide.Image.getData())}" data-src="${common.getScaledImageURL(curSlide.Image.getData())}" class="slide__image video-preview-image" id="video-preview-image_${slideUniqueId}" alt="${common.getAltText(curSlide.Image.data, AltText)}" /> 
39                                <div class="video-trigger-overlay video-trigger " id="video-trigger_${slideUniqueId}" data-tns-slide="tns1-item${curSlide?index}" data-videoid="${slideUniqueId}" data-source="${videoId}" title="Video abspielen"> 
40                                    <p class="text-center video-trigger-overlay-text video-trigger" data-videoid="${slideUniqueId}" > 
41                                        Um das Video zu sehen, müssen Sie dieses Feld durch einen Klick aktivieren. Dadurch werden 
42                                        Informationen an Youtube übermittelt und unter Umständen dort verarbeitet. Bitte beachten Sie unsere 
43                                        Hinweise und Informationen zum <a href="/datenschutz" target="_blank" 
44                                                                          class="no-icon">Datenschutz</a>. 
45                                    </p> 
46                                    <span class="icon-bg icon-bg--play video-trigger" data-videoid="${slideUniqueId}" ></span> 
47                                </div> 
48                                <div class="video-layer" style="display: none" id="video-layer_${slideUniqueId}"> 
49                                    <iframe class="video-frame" src="about:blank" allowfullscreen="" height="530" id="iframe_${slideUniqueId}"></iframe> 
50                                </div> 
51                            </div> 
52                        <#else> 
53                            <div class="slide-content-image image-with-caption"> 
54                                <img src="${common.getScaledImageURL(curSlide.Image.getData())}" data-src="${common.getScaledImageURL(curSlide.Image.getData())}" class="slide__image" alt="${common.getAltText(curSlide.Image.data, AltText)}"/> 
55                                ${Copyright} 
56                            </div> 
57                    </#if> 
58                </div> 
59            </div> 
60 
61        </#list> 
62    </div> 
63</section> 
64 
65<script> 
66 
67    var updateIframeHeight = function() { 
68        var dwidth = window.innerWidth; 
69        var videoHeight = dwidth*0.5625; 
70 
71        /* 
72        if (dwidth > 1600) { 
73            videoHeight = dwidth*0.40; 
74
75         */ 
76 
77        var videoFrames = document.getElementsByClassName('video-frame'); 
78        for (var i=0; i < videoFrames.length;i++) { 
79            videoFrames[i].setAttribute('height',videoHeight); 
80            videoFrames[i].style.height = videoHeight+'px'; 
81
82
83 
84    var updateVideoWrapper = function () { 
85 
86        var triggers = document.getElementsByClassName('video-trigger'); 
87 
88        for (var i=0; i < triggers.length;i++) { 
89            triggers[i].addEventListener('click',function(e) { 
90 
91                var triggersTarget = this.getAttribute('data-videoid'); 
92                var tnsSlide = this.getAttribute('data-tns-slide'); 
93 
94                var youtubeId = document.querySelector("#" + tnsSlide + ' #video-trigger_'+triggersTarget).getAttribute('data-source'); 
95                var videoLayer = document.querySelector("#" + tnsSlide + ' #video-layer_'+triggersTarget); 
96                var iframe = document.querySelector("#" + tnsSlide + ' #iframe_'+triggersTarget); 
97                iframe.setAttribute('src', 'https://www.youtube-nocookie.com/embed/' + youtubeId + '?autoplay=1&rel=0&cc_load_policy=1&modestbranding=0&enablejsapi=1'); 
98 
99                document.querySelector("#" + tnsSlide + ' #video-preview-image_'+triggersTarget).style.display='none'; 
100                document.querySelector("#" + tnsSlide + ' #video-trigger_'+triggersTarget).style.display='none'; 
101                videoLayer.style.display='block'; 
102            }); 
103
104    }; 
105 
106    window.addEventListener("load", function () { 
107        updateVideoWrapper(); 
108        updateIframeHeight(); 
109    }); 
110 
111    window.addEventListener("resize", function () { 
112        updateIframeHeight(); 
113    }); 
114 
115    // Liferay.on('endNavigate', updateVideoWrapper); 
116    // $(document).ready(updateVideoWrapper); 
117 
118    window.addEventListener("load", function () { 
119        function ${namespace}_updateInfo(info) { 
120            for (var i = 0; i < info.navItems.length; i++) { 
121                info.navItems[i].setAttribute('aria-label','Folie ' + (i+1)); 
122
123 
124            info.navItems[info.navCurrentIndex].setAttribute('aria-label','Folie ' + (info.navCurrentIndex + 1) + ' (aktuell)'); 
125 
126            info.controlsContainer.setAttribute('aria-label', 'Navigationselemente'); 
127            info.prevButton.setAttribute('aria-label','zur vorhergehenden Folie springen'); 
128            info.nextButton.setAttribute('aria-label','zur nächsten Folie springen'); 
129            info.navContainer.setAttribute('aria-label','Auswahl der Folien') 
130
131 
132        const imgStyle = document.querySelector('.image-slider-style'); 
133 
134        var slider = tns({ 
135            container: '#slider_${namespace} .slides-list', 
136            items: 1, 
137            slideBy: 'page', 
138            center: true, 
139            controlsPosition: 'bottom', 
140            navPosition: 'bottom', 
141            touch: true, 
142            mouseDrag: true, 
143            freezable: true, 
144            speed: 600, 
145            loop: false, 
146            arrowKeys: true, 
147            lazyload: true, 
148            autoHeight: true, 
149            lazyloadSelector: '.slide__image', 
150            autoplay: !!imgStyle, 
151            autoplayHoverPause: true, 
152            autoplayTimeout: 3500, 
153            autoplayText: [ 
154                "▶", 
155                "❚❚" 
156            ], 
157            controlsText: ['<span class="icon-bg icon-bg--arrow2-left"></span>','<span class="icon-bg icon-bg--arrow2-right"></span>'], 
158            onInit: function (info) { 
159                ${namespace}_updateInfo(info); 
160
161        }); 
162 
163        slider.events.on('indexChanged', function(info) { 
164            ${namespace}_updateInfo(info); 
165        }); 
166 
167        slider.events.on('transitionStart', function(info, eventName) { 
168            var currentSlideId = '#tns1-item' + info.navCurrentIndex; 
169 
170            var otherSlides = info.container.querySelectorAll('.tns-item:not(' + currentSlideId + ')') 
171 
172            otherSlides.forEach(function(slide) { 
173                var iframe = slide.querySelector( 'iframe'); 
174 
175                if (iframe != null) { 
176                    var src = iframe.getAttribute('src'); 
177                    if (src) { 
178                        if ((src.indexOf('youtube.com/embed') != -1) || (src.indexOf('youtube-nocookie.com/embed') != -1)) { 
179                            iframe.contentWindow.postMessage(JSON.stringify({ 
180                                'event': 'command', 
181                                'func': 'pauseVideo', 
182                                'args': [] 
183                            }), "*"); 
184
185
186
187            }); 
188        }); 
189        const mediaQuery = window.matchMedia('(max-width: 767px)') 
190        if (mediaQuery.matches) { 
191            const bulletList = document.querySelectorAll('.slider-hero .tns-nav'); 
192 
193            bulletList.forEach(bullet => { 
194                const slider = bullet.previousElementSibling.getBoundingClientRect(); 
195                const bulletNav = bullet.getBoundingClientRect(); 
196 
197                const bulletNavTop = bulletNav.top; 
198                const sliderTop = slider.top; 
199 
200                const arrowsPos = bulletNavTop - sliderTop - 5; 
201 
202                const prev = bullet.nextElementSibling.children[0]; 
203                const prevBtnWidth = prev.clientWidth; 
204                const next = bullet.nextElementSibling.children[1]; 
205 
206                const sliderControls = bullet.nextElementSibling; 
207                const firstBulletLeftSpace = bullet.firstElementChild.offsetLeft; 
208                const firstBulletWidth = bullet.firstElementChild.clientWidth; 
209                const lastBulletLeftSpace = bullet.lastElementChild.offsetLeft; 
210 
211                const nextBtnPos = lastBulletLeftSpace + 59; 
212                const prevBtnPos = firstBulletLeftSpace - prevBtnWidth - firstBulletWidth - 87; 
213 
214                const playPauseBtn = bullet.parentElement.firstElementChild; 
215                const playPauseBtnLeftPos = lastBulletLeftSpace + 15; 
216 
217                sliderControls.style.top = arrowsPos + 'px'; 
218 
219                next.style.left = nextBtnPos + 'px'; 
220 
221                prev.style.left = prevBtnPos + 'px'; 
222 
223                playPauseBtn.style.left = playPauseBtnLeftPos + 'px'; 
224 
225                console.log(sliderControls.style.top); 
226            }); 
227
228    }); 
229</script> 
 
An error occurred while processing the template.
The following has evaluated to null or missing:
==> formField.getValue().getString(locale)  [in template "blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" at line 22, column 43]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign altTag = formField.getValue()...  [in template "blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" in function "getAltText" at line 22, column 25]
----
1<#import "/blaues-gut-portal.web-resources_SERVLET_CONTEXT_/common_macros.ftl" as common> 
2 
3<#assign layoutService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
4<#assign namespace = randomNamespace /> 
5<#assign AltText = "" /> 
6<#assign Copyright = "" /> 
7 
8<#if AltTextImage?? && AltTextImage.getData()?has_content> 
9    <#assign AltText = AltTextImage.data /> 
10</#if> 
11 
12<#assign AltText = common.getAltText(ImageLarge.data, AltText) /> 
13<#if (Button.ButtonStyle?? && Button.ButtonStyle.getData()?has_content)> 
14    <#assign ButtonMarkup = common.getButtonMarkup(Button.ButtonInternalLink, Button.ButtonExternalLink, Button.ButtonText, Button.ButtonStyle.getData()) /> 
15    <#else> 
16    <#assign ButtonMarkup = common.getButtonMarkup(Button.ButtonInternalLink, Button.ButtonExternalLink, Button.ButtonText) /> 
17</#if> 
18 
19<#if ImageLarge?? && ImageLarge.data?has_content && (common.getCopyrightText(ImageLarge.data)!"") != ""> 
20    <#assign Copyright = common.getCopyrightTag("",ImageLarge.data) /> 
21</#if> 
22 
23 
24<section class="teaser"> 
25    <div class="colorable-bg"> 
26        <div class="container"> 
27            <div class="row justify-content-center"> 
28                <div class="col-md-6"> 
29                    <section class="teaser__content"> 
30                        <section class="image-large image-large--centered" id="image-large_${namespace}"> 
31                            <div class="image-inner image-with-caption"> 
32                                <#if SVG?? && SVG.getData()?has_content> 
33                                    <div class="slide-content-image no-border svg-image"> 
34                                        ${SVG.getData()} 
35                                    </div> 
36                                    <#else> 
37                                        <#if ImageLarge?? && ImageLarge.getData()?has_content> 
38                                            <img src="${common.getScaledImageURL(ImageLarge.getData(), "bg-image-medium")}" alt="${common.getAltText(ImageLarge.data)}" class="image"/> 
39                                            ${Copyright} 
40                                        </#if> 
41                                </#if> 
42                            </div> 
43                        </section> 
44                        <h2>${Headline.getData()}</h2> 
45                        <#if Text?? && Text.getData()?has_content> 
46                            <p class="teaser-text"> 
47                                ${Text.getData()} 
48                            </p> 
49                        </#if> 
50                        <#if Button.ButtonInternalLink.getData()?has_content || Button.ButtonExternalLink.getData()?has_content> 
51                            <div class="button-area"> 
52                                ${ButtonMarkup} 
53                            </div> 
54                        </#if> 
55                    </section> 
56                </div> 
57            </div> 
58        </div> 
59    </div> 
60 
61</section> 
 

Der aktuelle Status: Wo stehen wir?

Seit 2009 haben wir schon einiges umgesetzt: Hunderte Kilometer von Gewässerstrecken sind naturnah gestaltet und eine Vielzahl von Querbauwerken, wie zum Beispiel Wehre oder Wasserkraftanlagen, mit Fischtreppen versehen. So können Fische ungehindert flussaufwärts wandern. Die Abwasserbehandlung haben wir kontinuierlich ausgebaut und die Nährstoffeinträge aus der Landwirtschaft weiter verringert.

Und das wirkt: Viele Gewässer haben sich von einem ursprünglich mangelhaften Zustand verbessert, die meisten sind allerdings vom letztlich angestrebten Zustand noch ein gutes Stück entfernt. Wir sind also auf dem richtigen Weg – aber es gibt auch noch jede Menge zu tun.

Weitere Informationen zu den Flussgebieten Rhein und Donau und zur Umsetzung der Wasserrahmenrichtlinie in Baden-Württemberg (unter anderem Bewirtschaftungspläne und Maßnahmenprogramme)  finden Sie auf der Webseite des Ministeriums für Umwelt, Klima und Energiewirtschaft Baden-Württemberg.

 
 

Nicht nur für Fachleute interessant: die Fachtagung Vitale Gewässer

Vitale Gewässer sind gesunde Gewässer – und das ist für uns alle wichtig: Wer sich darüber ausführlicher zum Thema Gewässerökologie informieren möchte, findet hier alle relevanten Informationen und die Links zur Broschüre und den Unterlagen der vergangenen Fachtagungen.

 
 

Selbst Maßnahmen umsetzen: Gewusst, wie

Sie sind politische Entscheidungsträgerin oder politischer Entscheidungsträger und möchten gerne in Ihrer Gemeinde oder Ihrer Stadt eine Maßnahme umsetzen?

Dann klicken Sie sich auf dieser Unterseite durch und schauen Sie, was wir für hilfreiche Informationen und Materialien für Sie haben.

 

Kontakt

Bei Fragen, Hinweisen oder Anregungen schreiben Sie uns einfach eine E-Mail.