Herr.Kwak_독일유학/(Iwes) Windenergiesysteme

1980년 이후 세계적인 풍력시설의 발전 분석 / 데이터의 시각화 - (Analyse des globalen Windenergieausbaus seit 1980)

o헤어곽o 2022. 6. 4. 17:26
반응형
728x170

최근 Projekt 수업의 최종 과제로 작성한 1980년 이후 세계적인 풍력시설을 발전 분석에 대한 논문을 정리해드립니다. 해당 논문은 Leibniz Uni Hannover의 IWES 인스티튜트와 함께 작성되었으며, Windpower에서 제공하는 데이터를 기반으로 하여 분석이 진행되었으며, 2022년 05월 17일 최종적으로 제출이 되었습니다.

 

해당 분석 내용이 풍력에너지를 전공하고 조사하시는 분들께 조금이나마 도움이 되기를 바랍니다.

 

 


2.1. 데이터 베이스

 

이번 프로젝트를 위한 데이터는 연구실 IWES를 통해서 주어졌습니다. 또한 IWES는 풍력회사 "The Windpower"로부터 해당 데이터를 구입하였으며, 데이터는 2021년 10월 7일에 작성되었습니다. "Wind Power"는 프랑스 남서부에 위치한 아키텐 오트가론 주에 속해 있는 Tournefeulle에 위치한 회사로써, 빠르게 성장하는 풍력 에너지 영역과 이를 지원하는 시장에 대한 자세한 통계의 데이터베이스를 구축하고 있는 회사입니다. 또한 "Wind Power"는 풍력 발전 단지 개발자, 운영자 및 소유자, 터빈 제조업체와 같은 전 세계 산업의 다양한 참여자의 데이터를 Excel, Csv, Tsv, Shape, Kmz 및 Kml 형식으로 사용할 수 있는 사용 가능한 수치로 표로 만들어 제공을 하고 있습니다.

해당 데이터는 6개월의 롤링 기간에 걸쳐 확인 및 수정되고 있습니다. 1년, 2년 또는 3년 업데이트 패키지를 연간, 2년, 분기 또는 월 단위로 제공하고 있으며, 요청 시 정확한 시장 요구 사항에 맞게 데이터를 사용자가 정의할 수도 있습니다.이러한 이유로 "Wind Power"에서 작성한 데이터는 현시점에 맞는 정확한 신뢰도를 가지고 있으며, 주기적인 업데이트로 인해서 오차범위도 적은 것으로 파악이 되었습니다.

 

[그림.2] Windpark-Datenbank als Excel-Datei

 

해당 풍력시설의 데이터베이스는 위의 그림.2와 같이 총 27개의 카테고리로 구분이 되어 있습니다. 카테고리의 주요 내용으로는 풍력단지의 위치에 관한 정보(대륙, 국가, 도시)및 위도, 경도 및 고도와 같은 지형학적 정보, 풍력단지와 각각의 풍력시설에 대한 디테일(터빈의 종류, 개수, 허브 높이, 제조사, 소유주 등)에 관한 정보, 그리고 이번 프로젝트를 진행함에 있어서 가장 중요한 요소라고 할 수 있는 총 설치 전력과 제조연도에 대한 정보 등이 있습니다. 또한 데이터에서 함께 주어지는 링크를 통해서 각각의 풍력시설별로 더 자세한 정보를 확인할 수 있습니다. 이번 프로젝트의 경우 이 링크에서 각각의 풍력시설의 지름을 추가적으로 정리를 하여 각각의 풍력시설 및 풍력단지의 에너지 출력밀도를 계산할 수 있었습니다.

 


 

2.2. 지도생성의 컨셉

 

프로젝트를 진행함에 앞서서 데이터를 시각화하기 위한 몇 개의 표본들을 조사하였습니다. 풍력단지 및 풍력개발과 연관된 테마에서 뿐만 아니라, 여러 가지 다양한 테마에 있어서 지도를 시각화 하여서 데이터를 표시하는 방법이 사용되고 있었습니다.(최근에는 Covid-19의 분포 현황 지도가 대표적) 때문에, 여러가지 타메와 그에 맞는 컨셉들을 발견할 수 있었는데, 그중에서 가장 대표적이고 해당 테마의 표현과 적합한 3가지 표본 스타일을 토대로 장단점을 파악한 후, 이번 프로젝트에 적합한 방식을 구현하기 위해서 노력을 했습니다. 3가지 표본 스타일은 아래 그림. 3과 같습니다.

 

[그림.3] Musterstile zur Darstellung, a] Landkarte mit Kreis, b) Landkarte mit jeweiligen Positionen und Farben, c) Landkarte mit unterschiedliche Farbe

 

첫 번째 스타일은 원형을 통해서 기록을 하는 것이고, 두번째 스타일은은 각각의 데이터에 다른 색과 크기를 통해서 표시를 하게 됩니다. 마지막 세번째 스타일은 배경지도의 색상을 통해서 표현을 한 방식입니다. 이상의 3가지 방법은 각각의 장,단점을 가지고 있습니다. 때문에, 어떠한 주제를 표현하느냐에 따라서 다양한 스타일이 고려됩니다.

우선 첫번째 스타일은, 풍력단지 하나하나의 위치를 표현하기 힘들다는 단점을 가지고 있습니다. 하지만 조건에 따라서 상이한 크기와 경우에 따라서는 상이한 색상으로 포인트를 만들 수 있어서 비교분석에는 적합하다는 장점을 가지고 있습니다. 더불어, 각각의 포인트에 그 포인트가 의미하는 내용을 추가적인 범례로 적어서 표현할 수 있어 비교대상을 조금 더 명확히 할 수 있다는 장점이 있습니다. 때문에 전반적인 현황을 표시하는 데에는 적합하지 않았으나, 국가별 비교에는 적합하다는 판단을 하였습니다.

두 번째 스타일은 앞서 이야기 한 첫 번째 스타일과는 반대되는 장, 단점을 가지고 있습니다. 개체 하나하나를 점으로 표현하기 때문에 전반적인 현황의 비교를 위해서는 적합하지 않다는 단점이 있지만, 전반적인 현황을 단순히 표현하기에는 적합하다는 장점이 있습니다. 각각의 개체의 위치를 표현할 수 있고, 상이한 농도와 크기 차이를 통해서 각각의 개체들의 비교도 가능합니다. 때문에 전 세계 혹은, 파악하고자 하는 국가의 풍력단지 건설의 현황을 전반적으로 파악하는 데에는 적합하다는 판단을 하였습니다. 이러한 형식의 지도를 통해서 대략적인 위치의 현황, 풍력단지의 밀집도의 차이를 파악할 수 있을 것입니다.

마지막 세 번째 스타일은 첫 번째 스타일과 동일한 장단점을 가지고 있습니다. 하지만 Farbe를 통한 비교의 경우에는 각각의 색상 혹은 농도가 의미하는 바를 명확히 파악할 수 없으며 Legende를 통해서 각각이 의미하는 바를 별도로 파악해야 한다는 추가적인 단점이 존재합니다. 

이러한 세 가지 표본 스타일에 대한 고려 이후, 세 번째 스타일은 이번 프로젝트에서 고려되지 않았고, 첫 번째 스타일로 시각화가 이루어지게 되었습니다. 또한 앞서 설명한 바와 같이, 개개의 풍력단지의 분포를 표시하는 지도를 생성하는 경우에는 두 번째 스타일이 사용되었는데, 추후에 독일과 덴마크 등 해당 국가의 자세한 분석(연도에 따른 발전과정 등.)에 있어서 요긴하게 사용되었습니다. 이러한 표현방식에 대한 고려에 따라서 시각화 방법을 선정하였고, 각각의 분석 과제에 맞는 양식을 추가적으로 선정, 추가적인 변형을 거쳐서 최적화되었습니다.

 


 

2.3. 데이터의 시각화

 

2.3.1. 작업 흐름도

 

[그림.4] Flussdiagramm der Darstellung

 

프로젝트를 위해서 작업을 수행하는 단계는 위의 흐름도[그림 4.]와 같이 작업이 진행되었습니다. 위의 2.1장에서 설명한 데이터를 인수하면서 작업은 시작됩니다. 데이터를 인수할 때에는 보안유지 및 재사용 금지에 대한 서약을 작성한 후 인수하게 되었으며, 데이터를 구성하고 있는 총 27개의 파라미터중에서 필요한 파라미터를 정의하고 그에 따른 풍력단지의 분석을 진행합니다. (이를 위해 사용된 파라미터는 2.1장에서 설명되었습니다.)

이후 데이터을 분석하기 위해서는 프로그램이 사용되는데, 이번 프로젝트에는 파이썬(Python)이 사용되었습니다. 공학분야의 분석에는 Python 뿐만 아니라 Matlab, C/C++, Python 그리고 R이 통용되고 있습니다. 그중에서 일반적으로 지도 생성을 위해서는 Matlab과 Python 두 개의 프로그램이 전형적으로 알려져 있습니다. 이 두 프로그램은, 컴파일러가 아닌 해석기(interpreter)에 의해서 한 줄마다 해석되어 실행되는 인터프리터 프로그래밍 언어(interpreted programming language)로 실행 시간이 느린 반면에 프로그램 디버깅이 간편하다는 장점을 가지고 있으며, C/C++에 비해서 디버깅을 함에 있어서 어렵지 않기에 접근성이 용이하다는 이점을 가지고 있습니다.

 

[그림.5] Bearbeitungs- und Analyseprotokoll durch Python

 

그중에서도, 저는 Python을 사용하여 이번 시각화 및 최적화를 진행하게 되었는데, 두 프로그램 Python과 Matlab모두 각각의 장단점이 있지만, 여러 가지 측면을 고려하여 Python을 선정하였습니다. 그 이유에는,  Python에는 다차원 배열을 효율적으로 다룰 수 있는 Numpy와 과학 계산용과 수치 해석 도구에 특화된 Scipy라는 패키지가 존재하며, 그리고 Matlab의 그래프 기능과 거의 동일한 함수들을 제공하는 Matplotlib 등을 조합하면 Matlab에서 목표로 했던 기능 등을 충분히 얻을 수 있다는 장점을 가지고 있습니다. 다시 말해, Matlab으로는 Python의 기능의 이용에 제한적이지만, Python으로는 Matlab의 기능을 사용할 수 있는 패키지가 많다는 것입니다. 이번 프로젝트에서는 Numpy 혹은 Scipy와 같은 패키지를 직접적으로 사용하지는 않았지만, 이러한 기능적인 장점이 많다는 점이 매력적이었습니다. 또한, Matlab은 선형 대수 분야의 라이브러리를 기본으로 출발해서 여러 분야의 toolbox들을 제공하면서 영역을 확장했지만, Python은 객체 지향(object oriented) 범용 프로그래밍 언어이며 다른 언어와 결합하여 사용하는 것이 쉬워 Fortran, C 등과 같은 다른 언어로 이미 개발되어 있는 라이브러리를 쉽게 이용할 수 있다는 장점이 있습니다. 무엇보다도 Python 언어 자체는 지금도 발전하고 있으며 다양한 분야의 무료 패키지들이 지속적으로 개발되고 있다는 점이 Python으로 작업을 하게 된 이유입니다.

특히 "파이썬과 데이터 분석(Python and Data Analysis)"과 "패널 데이터(panal Data)"에서 파생된 Pandas라는 패키지는 Numpy, Scipy 및 Matplotlib의 기능을 완성하는 Python 모듈입니다. Pandas는 Python용으로 작성된 소프트웨어 라이브러리로써 2008년에 AQR Capital Management에서 근무하던 Wes McKinney에 의해서 개발되었습니다. Pandas는 특히 데이터 조작 및 분석에 주로 사용됩니다. 숫자 테이블과 시계열을 조작하기 위한 특수 기능과 데이터 구조를 제공하며 현재 최신 버전은 1.4.1입니다.

 

Pandas의 장점은 아래와 같습니다.

 - 오픈 소스 소프트웨어로 무료로 제공되며 모든 사람이 액세스 할 수 있습니다.

 - Python 환경에 완전히 통합됨

 - 배우기 쉽고 사용하기 쉽습니다.

 - 다른 많은 데이터 과학 Python 라이브러리와 함께 사용 가능(데이터는 다른 파일 개체에서 로드할 수 있음)

 - 부동 소수점 및 비 부동 소수점 데이터에서 누락된 데이터(NaN으로 표시)를 쉽게 처리

 - 대용량 데이터 및 다양한 기능의 고성능 처리

 - 다양한 용도로 유연하게 사용 가능

 - 플랫폼 독립적

 - 다양한 데이터 형식 지원

 

2.3.2. 시각화를 위한 파라미터

 

데이터는 총 33,072개의 1958년도부터 2021년도까지 지어진 풍력단지에 대한 정보를 담고 있습니다. 이 중에서 2020년과 2021년에 해당하는 743개의 풍력단지의 정보는 제외하고 분석을 진행하였습니다.(총 33,072개 중 32,329개 고려) 이는 해당 연도의 일부 풍력단지가 아직 계획단계에 있거나 승인 단계에 있는 실제로 지어지지 않은 데이터들이기 때문이며, 추가적으로 연도가 주어지지 않은 데이터(4,011개)들도 분석에서 제외되었습니다.(따라서 분석에 사용된 전 세계 데이터는 28,169개) 더불어 지도에 시각화를 함에 있어서도, 경도와 위도가 주어지지 않았거나(3,211개), 총 설치 전력이 주어지지 않아 범례 구분이 되지 않고, 포인트 표시가 수행될 수 없는 데이터(282개)들은 분석을 위한 수치상에는 포함이 되나, 지도에는 시각화되지 않았습니다. 다시 말해, 데이터의 분석에는 총 32,329개의 데이터가 사용되었으며, 시각화를 위해서는 25,929개의 데이터가 사용되었습니다. (대략 20%의 데이터 탈락)

시각화는 각각의 풍력단지를 설치 전력과 설치개수를 토대로 분석함을 기본으로 하고, 추가적으로 각 국가별로 보유하고 있는 풍력단지의 개수와 전체 설치 전력을 계산하여 비교를 수행할 수 있도록 이루어집니다. 해당 지도를 시각화하는 데에 있어서 최적화하기 위한 각각의 방식은 위의 2.2장에서 설명되어졌으며, 각각의 정보들은 독자들이 한눈에 파악하기 쉽도록 시각화를 하기 위해 여러 가지 표본들을 고려하였습니다.

 

2.3.2. 작업 중 어려움과 프로그램 특성상 제한

 

Python을 통해 지도를 시각화하는 과정에서 프로그램에서 주어지는 배경지도의 정확도 등으로 인해 몇몇 어려움과 문제점에 직면하게 되었습니다. 이 중 몇몇 어려움은 해결이 되었으나, 프로그램의 특성으로 인해 해결되지 않은 부분이 있습니다.

우선 지도의 정확도 차이로 인한 풍력단지의 소속 국가의 오차에 대한 내용입니다. Python을 통해서 생성된 지도는 "Google Map"에서 확인할 수 있는 지도보다 단순화된 국경선의 정확도를 가지고 있습니다. 때문에 아래 [그림. 6.]에서 확인할 수 있듯이, 일부 국경지역에 위치한 풍력단지가 해당 국가가 아닌 인접국가에 위치하는 문제점이 발견되었습니다. Python으로 생성된 지도상의 국경의 정확도는 개인적으로 섬세하게 편집할 수 없었기 때문에 이 문제에 대해서 해결을 할 수 없었습니다.

 

[그림.6] Vergleich Google Maps und Python Package Pandas

 

하지만, 위도와 경도상으로 문제상의 풍력단지들를 비교해본 결과, 위치는 명확하게 출력이 된 것으로 확인이 되었습니다. 이러한 분석을 토대로, 풍력단지의 위치 출력에서 오차가 발생하였지만, 이는 풍력단지 위치 자체의 오차로 인정하기 어렵습니다. 따라서 분석에 사용된 데이터의 정확도에 신뢰도가 부족하다고 판단할 근거는 되지 않습니다.

이와 동일한 문제는 아래 3장과 4장에서 독일과 덴마크의 분석에서 명확하게 발생합니다. 독일과 덴마크의 풍력단지와 풍력시설의 자세한 분석을 위해 내륙 풍력시설과 해상풍력시설을 나누어서 어떠한 발전과정과 추세를 보이고 있는지 알아보았습니다. 이러한 경우 위치상에서 문제가 발생합니다. 독일의 경우 Rügen 섬(그림. 7에 따른.), Fehmarn 섬 등, Ostsee에 있는 섬들에 건설된 풍력단지의 위치가 내륙 풍력단지임에도 불구하고 해상 풍력단지처럼 해상에 표시된 것처럼 보입니다. 이는 Python으로 출력된 배경지도에 섬과 같은 바다와 육지의 경계가 부정확하거나, 표현되지 않은 점에서 문제가 발생합니다. 마찬가지로 해상 풍력시설의 경우 Hafen Rostock(그림. 8에 따른), Ems 상부에 위치한 Dollard 같은 곳의 디테일 부족으로 인해 육지 위에 위치한 것처럼 표시되고 있습니다. 이러한 문제로 인해서, Python으로 생성된 지도 경우, 내륙 풍력단지가 해상에 표시되고, 해상 풍력단지가 육지에 표시되는 문제가 발생하게 되고, 독자들이 잘못된 정보가 포함되어 있거나, 시각화 과정에서 문제가 있었다고 판단할 요지가 있습니다.

 

[그림.7] Unterschied zwischen Google-Maps und Python mit Offshore-Windpark auf Rügen Insel

 

[그림.8] Unterschied zwischen Google-Maps und Python mit Onshore-Windpark in Hafen Rostock

 

덴마크의 경우 이러한 문제는 더욱 도드라집니다. 덴마크는 Jütland 반도와 크고 작은 섬들로 구성되어 있습니다. 이러한 섬들 가운데서 수도 코펜하겐이 위치한 셸란 섬은 zeichnen 되어 있지만 외의 섬들은 zeichnung 되어 있지 않습니다. 아래 그림. 9에서에서 보여지듯, Jütland 반도와 셸란섬 사이에 위치한 Fyn섬과 lolland섬에도 많은 Offshore 건설되어 있는데, 이가 마치 해상 위치한 것처럼 보여집니다.

 

[그림.9] Unterschied zwischen Google-Maps und Python mit Onshore-Windpark in Dänemark

 

이러한 시각적인 불명확함이 존재하지만, 이는 데이터 자체의 문제가 아닌 Python으로 시각화를 실현함에 있어서 발생하는 불명확함으로써, 데이터의 정확도가 불명확하다고 판명되지는 않습니다. 때문에, 추후 시각화를 최적화하게 된다면, 이러한 문제를 해결하는 것이 가장 큰 과제로 남아있습니다. 이를 위해서 Visual Code를 비롯해, Jupiter Python 등 다양한 버전의 Python 프로그램을 사용해보았으나, 결과값은 동일하게 나왔습니다. 또한 Geojson등과 같은 별도의 패키지 프로그램을 사용하는 방법도 있지만, 이는 이론적으로만 확인을 하였고, 실제로 구현해보지 못하였기 때문에, 이를 사용해서 문제가 해결될 수 있는지는 현재 알 수 없습니다.

또한 Scoping과정에서 Python이 지정하는 6개의 항목(World, Asia, Europa, Africa, Asia, Nord America, South America) 외에는 지도의 크기가 고정이 안된다는 단점을 가지고 있습니다. 예를 들어서, 대륙별 비교에서 Oceania, 혹은 America 전체를 하나의 지도로 표시하고자 할 때, 혹은 독일 등과 같은 한 국가의 지도를 만들고자 할 때, 고정된 지도 위치가 없다는 것입니다. 때문에, 다른 항목을 선택한 후, 줌인/아웃을 통해서 해당 배경을 찾아서 설정을 해야 한다는 것입니다. 이러한 경우, 하나의 지도를 생성하는 데 있어서는 문제가 되지 않지만, 발전과정과 같이, 동일한 지역에 다른 파라미터 설정을 통해서 여러 지도를 선택해야 할 경우에 문제가 됩니다.

 


 

전체 논문 (Analye des Windenergiebaus seit 1980 / 독일어)은 아래 파일에서 확인하실 수 있습니다.

 

Analyse des globalen Windparkausbaus seit 1980.pdf
3.07MB

 

 

 

또한, 한글 내용은 아래 포스팅에서 각 장별로 확인하실 수 있습니다. (추후 업데이트 예정)

 

0. Kurzfassung, Zusammenfassung und Ausblick / 서론 및 결론

https://herr-kwak.tistory.com/1096

 

1980년 이후 세계적인 풍력시설의 발전 분석 / 서론 및 결론 - (Analyse des globalen Windenergieausbaus seit 19

최근 Projekt 수업의 최종 과제로 작성한 1980년 이후 세계적인 풍력시설을 발전 분석에 대한 논문을 정리해드립니다. 해당 논문은 Leibniz Uni Hannover의 IWES 인스티튜트와 함께 작성되었으며, Windpower

herr-kwak.tistory.com

 

1. Einleitung / 도입

https://herr-kwak.tistory.com/1099

 

1980년 이후 세계적인 풍력시설의 발전 분석 / 소개 및 도입 - (Analyse des globalen Windenergieausbaus seit 19

최근 Projekt 수업의 최종 과제로 작성한 1980년 이후 세계적인 풍력시설을 발전 분석에 대한 논문을 정리해드립니다. 해당 논문은 Leibniz Uni Hannover의 IWES 인스티튜트와 함께 작성되었으며, Windpower

herr-kwak.tistory.com

 

3.1. Windparkenergieausbaus in Deutschland seit 1980 als Onshore / 1980년대 이후 독일의 내륙풍력시설의 발전과정 및 현황

 

 

3.2. Windparkenergieausbaus in Deutschland seit 1980 als Offshore / 1980년대 이후 독일의 해상풍력시설의 발전과정 및 현황

 

 

4.1. Windparkenergieausbaus in Dänermark seit 1980 als Onshore / 1980년대 이후 덴마크의 내륙풍력시설의 발전과정 및 현황

 

 

4.2. Windparkenergieausbaus in Dänermark seit 1980 als Offshore / 1980년대 이후 덴마크의 해상풍력시설의 발전과정 및 현황

 

 

5. Weltweite Windparks / 전 세계 풍력시설의 발전과정 및 현황 비교분석

 

 

 


 

읽어주셔서 감사합니다.

반응형
그리드형