User Tools

Site Tools


user:sachy:brmdam

This is an old revision of the document!


Precerpavaci elektrarna Cechy-stred

Prehradi-li se Labe na vytoku z CR, muze po osazeni telesa hraze turbinami vzniknout nejvetsi precerpavaci elektrarna v Ceske republice [citation needed]. Dopady stavby na zivotni prostredi jsou zanedbatelne, nebot moznost nezatopena mista osadit dle nadmorske vysky bud vetrniky, nebo repkou, o 666% vylepsi zivotni prostredi v CR.

Zdrojaky k mergeWENS, hgt2pngn, damnflood

Data o nadmorske vysce

Nadmorskou vysku pevniny zmapoval a zcenzurovanou verzi zverejnil spojenostatoamericky projekt SRTM. Data lze stahnout ve forme matic o rozmerech 1201×1201 16b integeru o kroku 1m; s vertikalni presnosti ~10m (hodnota skalaru) a plosnym rozlisenim 3“ (tri uhlove sekundy; ~90m).

Stazeni dat pro CR (zabere ~100MB):

#!/bin/bash

for i in {48..51..1}
do
  for e in {011..019..1}
  do
    wget http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N"$i"E"$e".hgt.zip
    unzip ./N"$i"E"$e".hgt.zip -d ./
    rm ./N"$i"E"$e".hgt.zip
  done
done

Zpracovani SRTM dat

Existuje projekt gdal, ale je zabugovany k nepouzitelnosti, proto jsem napsal vlastni C programy “mergeWENS.c” (slouci SRTM matice do jedne) a “hgt2pngn.c” (prevede matici na png obrazek). Stazeni: http://brmlab.s0c4.net/brmdam.tgz

Slouceni .hgt matic do jedne velke matice

SRTM matice nelze trivialne napojit na sebe, protoze prvni/posledni radek/sloupec se prekryva se sousedni matici. Je tedy potreba pouzit muj mergeWENS.c:

clang ./mergeWENS.c -o ./mergeWENS
mergeWENS #WE #NS input.hgt [...] output.hgt
  • #WE = pocet west-to-east matic
  • #NS = pocet north-to-south matic
  • input.hgt … = vstupni hgt matice v poradi od severozapadu, pres severovychod a jihozapad k jihovychodu.
  • output.hgt = vystupni matice

Pro CR a zaokrouhlene okoli (48-51 SS; 11-19 VD) je ten prikaz nasledujici:

./mergeWENS 9 4 ./N51E011.hgt ./N51E012.hgt ./N51E013.hgt ./N51E014.hgt ./N51E015.hgt ./N51E016.hgt ./N51E017.hgt ./N51E018.hgt ./N51E019.hgt ./N50E011.hgt ./N50E012.hgt ./N50E013.hgt ./N50E014.hgt ./N50E015.hgt ./N50E016.hgt ./N50E017.hgt ./N50E018.hgt ./N50E019.hgt ./N49E011.hgt ./N49E012.hgt ./N49E013.hgt ./N49E014.hgt ./N49E015.hgt ./N49E016.hgt ./N49E017.hgt ./N49E018.hgt ./N49E019.hgt ./N48E011.hgt ./N48E012.hgt ./N48E013.hgt ./N48E014.hgt ./N48E015.hgt ./N48E016.hgt ./N48E017.hgt ./N48E018.hgt ./N48E019.hgt ./NallEall.hgt

Konverze do png

Matici je pro potreby zobrazeni prevest do png, opet se opakuje situace se zabugovanymi nastroji v rezozitari/na internetech. Takze pouziju svuj hgt2pngn.c (potrebuje opencv-dev):

clang $(pkg-config --cflags --libs opencv) hgt2pngn.c -o hgt2pngn
./hgt2pngn width height mode input.hgt output.png
  • width = pocet sloupcu vstupni matice
  • height = pocet radku vstupni matice
  • mode = rezim konverze vstupniho 16b skalaru:
    • 8 = grayscale 8b png (ztrati se presnost)
    • 16 = grayscale 16b png (bez ztraty presnosti, ale vetsina sw neumi zpracovat)
    • 3 = RGB 8b png.
      • Cervena = oblasti kde nejsou dostupna SRTM data
      • Zelena = (vyska/256)*32
      • modra = vyska%256
  • input.hgt = vstupni matice
  • output.png = vystupni png

MergeWENS vypise rozmery vystupni matice, coz NENI prosty soucet rozmeru vstupu (kvuli presahum matic do sousednich).

./hgt2pngn 10793 4798 8 ./NallEall.hgt ./NallEall.png
./hgt2pngn 10793 4798 16 ./NallEall.hgt ./NallEall.png
./hgt2pngn 10793 4798 3 ./NallEall.hgt ./NallEall.png

Vypocet a vykresleni zatopene plochy

K vypoctu zatopene plochy je potreba 16bit grayscale PNG z hgt2pngn. O vypocet se stara program damnflood, ktery krom grafickeho vystupu vypocte i nejnizsi bod hraze, jeji vysku, objem zadrzene vody v m^3 a zatopenou plochu v m^2.

clang $(pkg-config --cflags --libs opencv) -lm damnflood.c -o damnflood
damnflood Ax Ay Bx By h input.png output.png
  • Ax, Ay = souradnice pocatku hraze
  • Bx, By = souradnice konce hraze
  • h = jake vysky ma hladina dosahnout (v metrech nad morem)
    • 0 znamena vykresleni pouze hraze (pro debugovani umisteni)
  • input.png = 16b grayscale png
  • output.png = 16b RGB png

Barvy:

  • cervena = teleso hraze
  • modra = zatopena oblast
  • bily bod = chyba mereni SRTM
  • odstiny sede (v podstate cerna) = nethnute informace o terenu z SRTM

Priklad:

./damnflood 3800 1400 4200 1450 423 ./NallEall16.png ./cechy16.png
Root : Top : Height = 123 : 501 : 378
Filling west/south side!
Stats:
	Volume: 3523475351700 m^3
	Area: 30450289500 m^2

Vystup:

8b PNG zatopene oblasti (ztrata presnosti 16b→8b skalovanim)

16b PNG zatopene oblasti (puvodni vyska terenu v m.n.m.)

PE Morava-stred

Projekt Precerpavaci elektrarna Morava-stred je megalomanska odpoved na PECS. Zajimavost: do tela hraze byly zakomponovany vsechny bojove saliny.

./damnflood 6892 4090 7364 4418 236 ./NallEall16.png ./morava16.png
Root : Top : Height = 142 : 246 : 104
Stats:
	Volume: 349313128788 m^3
	Area: 8896651200 m^2

Vystup:

8b PNG zatopene oblasti (ztrata presnosti 16b→8b skalovanim)

16b PNG zatopene oblasti (puvodni vyska terenu v m.n.m.)

Analýza proveditelnosti

Doporučujeme provést přehrazení Labe na území Německa, těsně za českou hranicí. Díky tomu bude stačit v EIA (Environmental Impact Analysis) vyřešit krátký úsek údolí a stavební povolení tak bude snadné získat. Případné negativní externality zatěžující okolní země (v tomto případě zatopení třetiny území) není třeba řešit, jak již ukázala kauza Energiewende.

Výpočet uložené energie

FIXME, navrhujeme numerickou integraci hmotnosti vody * tíhové zrychlení podle výšky hladiny.

Další příznivé vlivy

Stavba zjednoduší realizaci kanálu Labe-Odra-Dunaj. Kanál bude moct být mnohem kratší.

user/sachy/brmdam.1491513105.txt.gz · Last modified: 2017/04/06 21:11 by sachy