diff --git a/poetry.lock b/poetry.lock index 6e9da41e..cb7f416f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -81,6 +81,91 @@ files = [ {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, ] +[[package]] +name = "charset-normalizer" +version = "3.1.0" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, + {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, +] + [[package]] name = "click" version = "8.1.3" @@ -108,6 +193,81 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "contourpy" +version = "1.0.7" +description = "Python library for calculating contours of 2D quadrilateral grids" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "contourpy-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:95c3acddf921944f241b6773b767f1cbce71d03307270e2d769fd584d5d1092d"}, + {file = "contourpy-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc1464c97579da9f3ab16763c32e5c5d5bb5fa1ec7ce509a4ca6108b61b84fab"}, + {file = "contourpy-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8acf74b5d383414401926c1598ed77825cd530ac7b463ebc2e4f46638f56cce6"}, + {file = "contourpy-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c71fdd8f1c0f84ffd58fca37d00ca4ebaa9e502fb49825484da075ac0b0b803"}, + {file = "contourpy-1.0.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f99e9486bf1bb979d95d5cffed40689cb595abb2b841f2991fc894b3452290e8"}, + {file = "contourpy-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87f4d8941a9564cda3f7fa6a6cd9b32ec575830780677932abdec7bcb61717b0"}, + {file = "contourpy-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9e20e5a1908e18aaa60d9077a6d8753090e3f85ca25da6e25d30dc0a9e84c2c6"}, + {file = "contourpy-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a877ada905f7d69b2a31796c4b66e31a8068b37aa9b78832d41c82fc3e056ddd"}, + {file = "contourpy-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6381fa66866b0ea35e15d197fc06ac3840a9b2643a6475c8fff267db8b9f1e69"}, + {file = "contourpy-1.0.7-cp310-cp310-win32.whl", hash = "sha256:3c184ad2433635f216645fdf0493011a4667e8d46b34082f5a3de702b6ec42e3"}, + {file = "contourpy-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:3caea6365b13119626ee996711ab63e0c9d7496f65641f4459c60a009a1f3e80"}, + {file = "contourpy-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ed33433fc3820263a6368e532f19ddb4c5990855e4886088ad84fd7c4e561c71"}, + {file = "contourpy-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:38e2e577f0f092b8e6774459317c05a69935a1755ecfb621c0a98f0e3c09c9a5"}, + {file = "contourpy-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ae90d5a8590e5310c32a7630b4b8618cef7563cebf649011da80874d0aa8f414"}, + {file = "contourpy-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:130230b7e49825c98edf0b428b7aa1125503d91732735ef897786fe5452b1ec2"}, + {file = "contourpy-1.0.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58569c491e7f7e874f11519ef46737cea1d6eda1b514e4eb5ac7dab6aa864d02"}, + {file = "contourpy-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54d43960d809c4c12508a60b66cb936e7ed57d51fb5e30b513934a4a23874fae"}, + {file = "contourpy-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:152fd8f730c31fd67fe0ffebe1df38ab6a669403da93df218801a893645c6ccc"}, + {file = "contourpy-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9056c5310eb1daa33fc234ef39ebfb8c8e2533f088bbf0bc7350f70a29bde1ac"}, + {file = "contourpy-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a9d7587d2fdc820cc9177139b56795c39fb8560f540bba9ceea215f1f66e1566"}, + {file = "contourpy-1.0.7-cp311-cp311-win32.whl", hash = "sha256:4ee3ee247f795a69e53cd91d927146fb16c4e803c7ac86c84104940c7d2cabf0"}, + {file = "contourpy-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:5caeacc68642e5f19d707471890f037a13007feba8427eb7f2a60811a1fc1350"}, + {file = "contourpy-1.0.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd7dc0e6812b799a34f6d12fcb1000539098c249c8da54f3566c6a6461d0dbad"}, + {file = "contourpy-1.0.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0f9d350b639db6c2c233d92c7f213d94d2e444d8e8fc5ca44c9706cf72193772"}, + {file = "contourpy-1.0.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e96a08b62bb8de960d3a6afbc5ed8421bf1a2d9c85cc4ea73f4bc81b4910500f"}, + {file = "contourpy-1.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:031154ed61f7328ad7f97662e48660a150ef84ee1bc8876b6472af88bf5a9b98"}, + {file = "contourpy-1.0.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e9ebb4425fc1b658e13bace354c48a933b842d53c458f02c86f371cecbedecc"}, + {file = "contourpy-1.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efb8f6d08ca7998cf59eaf50c9d60717f29a1a0a09caa46460d33b2924839dbd"}, + {file = "contourpy-1.0.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6c180d89a28787e4b73b07e9b0e2dac7741261dbdca95f2b489c4f8f887dd810"}, + {file = "contourpy-1.0.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b8d587cc39057d0afd4166083d289bdeff221ac6d3ee5046aef2d480dc4b503c"}, + {file = "contourpy-1.0.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:769eef00437edf115e24d87f8926955f00f7704bede656ce605097584f9966dc"}, + {file = "contourpy-1.0.7-cp38-cp38-win32.whl", hash = "sha256:62398c80ef57589bdbe1eb8537127321c1abcfdf8c5f14f479dbbe27d0322e66"}, + {file = "contourpy-1.0.7-cp38-cp38-win_amd64.whl", hash = "sha256:57119b0116e3f408acbdccf9eb6ef19d7fe7baf0d1e9aaa5381489bc1aa56556"}, + {file = "contourpy-1.0.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:30676ca45084ee61e9c3da589042c24a57592e375d4b138bd84d8709893a1ba4"}, + {file = "contourpy-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e927b3868bd1e12acee7cc8f3747d815b4ab3e445a28d2e5373a7f4a6e76ba1"}, + {file = "contourpy-1.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:366a0cf0fc079af5204801786ad7a1c007714ee3909e364dbac1729f5b0849e5"}, + {file = "contourpy-1.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89ba9bb365446a22411f0673abf6ee1fea3b2cf47b37533b970904880ceb72f3"}, + {file = "contourpy-1.0.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71b0bf0c30d432278793d2141362ac853859e87de0a7dee24a1cea35231f0d50"}, + {file = "contourpy-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7281244c99fd7c6f27c1c6bfafba878517b0b62925a09b586d88ce750a016d2"}, + {file = "contourpy-1.0.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b6d0f9e1d39dbfb3977f9dd79f156c86eb03e57a7face96f199e02b18e58d32a"}, + {file = "contourpy-1.0.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7f6979d20ee5693a1057ab53e043adffa1e7418d734c1532e2d9e915b08d8ec2"}, + {file = "contourpy-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5dd34c1ae752515318224cba7fc62b53130c45ac6a1040c8b7c1a223c46e8967"}, + {file = "contourpy-1.0.7-cp39-cp39-win32.whl", hash = "sha256:c5210e5d5117e9aec8c47d9156d1d3835570dd909a899171b9535cb4a3f32693"}, + {file = "contourpy-1.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:60835badb5ed5f4e194a6f21c09283dd6e007664a86101431bf870d9e86266c4"}, + {file = "contourpy-1.0.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ce41676b3d0dd16dbcfabcc1dc46090aaf4688fd6e819ef343dbda5a57ef0161"}, + {file = "contourpy-1.0.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a011cf354107b47c58ea932d13b04d93c6d1d69b8b6dce885e642531f847566"}, + {file = "contourpy-1.0.7-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31a55dccc8426e71817e3fe09b37d6d48ae40aae4ecbc8c7ad59d6893569c436"}, + {file = "contourpy-1.0.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69f8ff4db108815addd900a74df665e135dbbd6547a8a69333a68e1f6e368ac2"}, + {file = "contourpy-1.0.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efe99298ba37e37787f6a2ea868265465410822f7bea163edcc1bd3903354ea9"}, + {file = "contourpy-1.0.7-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a1e97b86f73715e8670ef45292d7cc033548266f07d54e2183ecb3c87598888f"}, + {file = "contourpy-1.0.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc331c13902d0f50845099434cd936d49d7a2ca76cb654b39691974cb1e4812d"}, + {file = "contourpy-1.0.7-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24847601071f740837aefb730e01bd169fbcaa610209779a78db7ebb6e6a7051"}, + {file = "contourpy-1.0.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abf298af1e7ad44eeb93501e40eb5a67abbf93b5d90e468d01fc0c4451971afa"}, + {file = "contourpy-1.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:64757f6460fc55d7e16ed4f1de193f362104285c667c112b50a804d482777edd"}, + {file = "contourpy-1.0.7.tar.gz", hash = "sha256:d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e"}, +] + +[package.dependencies] +numpy = ">=1.16" + +[package.extras] +bokeh = ["bokeh", "chromedriver", "selenium"] +docs = ["furo", "sphinx-copybutton"] +mypy = ["contourpy[bokeh]", "docutils-stubs", "mypy (==0.991)", "types-Pillow"] +test = ["Pillow", "matplotlib", "pytest"] +test-no-images = ["pytest"] + [[package]] name = "coverage" version = "7.2.3" @@ -175,6 +335,18 @@ tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.1 [package.extras] toml = ["tomli"] +[[package]] +name = "cycler" +version = "0.11.0" +description = "Composable style cycles" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, + {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, +] + [[package]] name = "dill" version = "0.3.6" @@ -227,6 +399,32 @@ Werkzeug = ">=2.2.2" async = ["asgiref (>=3.2)"] dotenv = ["python-dotenv"] +[[package]] +name = "fonttools" +version = "4.39.3" +description = "Tools to manipulate font files" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fonttools-4.39.3-py3-none-any.whl", hash = "sha256:64c0c05c337f826183637570ac5ab49ee220eec66cf50248e8df527edfa95aeb"}, + {file = "fonttools-4.39.3.zip", hash = "sha256:9234b9f57b74e31b192c3fc32ef1a40750a8fbc1cd9837a7b7bfc4ca4a5c51d7"}, +] + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.0.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "scipy"] +lxml = ["lxml (>=4.0,<5)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=15.0.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + [[package]] name = "freezegun" version = "1.2.2" @@ -242,6 +440,18 @@ files = [ [package.dependencies] python-dateutil = ">=2.7" +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] + [[package]] name = "iniconfig" version = "2.0.0" @@ -324,6 +534,84 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "kiwisolver" +version = "1.4.4" +description = "A fast implementation of the Cassowary constraint solver" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6"}, + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c"}, + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32"}, + {file = "kiwisolver-1.4.4-cp310-cp310-win32.whl", hash = "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408"}, + {file = "kiwisolver-1.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4"}, + {file = "kiwisolver-1.4.4-cp311-cp311-win32.whl", hash = "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e"}, + {file = "kiwisolver-1.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-win32.whl", hash = "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c"}, + {file = "kiwisolver-1.4.4-cp38-cp38-win32.whl", hash = "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191"}, + {file = "kiwisolver-1.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9"}, + {file = "kiwisolver-1.4.4-cp39-cp39-win32.whl", hash = "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea"}, + {file = "kiwisolver-1.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"}, + {file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"}, +] + [[package]] name = "lazy-object-proxy" version = "1.9.0" @@ -544,6 +832,68 @@ docs = ["alabaster (==0.7.12)", "autodocsumm (==0.2.9)", "sphinx (==5.3.0)", "sp lint = ["flake8 (==5.0.4)", "flake8-bugbear (==22.10.25)", "mypy (==0.990)", "pre-commit (>=2.4,<3.0)"] tests = ["pytest", "pytz", "simplejson"] +[[package]] +name = "matplotlib" +version = "3.7.1" +description = "Python plotting package" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:95cbc13c1fc6844ab8812a525bbc237fa1470863ff3dace7352e910519e194b1"}, + {file = "matplotlib-3.7.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:08308bae9e91aca1ec6fd6dda66237eef9f6294ddb17f0d0b3c863169bf82353"}, + {file = "matplotlib-3.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:544764ba51900da4639c0f983b323d288f94f65f4024dc40ecb1542d74dc0500"}, + {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56d94989191de3fcc4e002f93f7f1be5da476385dde410ddafbb70686acf00ea"}, + {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99bc9e65901bb9a7ce5e7bb24af03675cbd7c70b30ac670aa263240635999a4"}, + {file = "matplotlib-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb7d248c34a341cd4c31a06fd34d64306624c8cd8d0def7abb08792a5abfd556"}, + {file = "matplotlib-3.7.1-cp310-cp310-win32.whl", hash = "sha256:ce463ce590f3825b52e9fe5c19a3c6a69fd7675a39d589e8b5fbe772272b3a24"}, + {file = "matplotlib-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:3d7bc90727351fb841e4d8ae620d2d86d8ed92b50473cd2b42ce9186104ecbba"}, + {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:770a205966d641627fd5cf9d3cb4b6280a716522cd36b8b284a8eb1581310f61"}, + {file = "matplotlib-3.7.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f67bfdb83a8232cb7a92b869f9355d677bce24485c460b19d01970b64b2ed476"}, + {file = "matplotlib-3.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2bf092f9210e105f414a043b92af583c98f50050559616930d884387d0772aba"}, + {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89768d84187f31717349c6bfadc0e0d8c321e8eb34522acec8a67b1236a66332"}, + {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83111e6388dec67822e2534e13b243cc644c7494a4bb60584edbff91585a83c6"}, + {file = "matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a867bf73a7eb808ef2afbca03bcdb785dae09595fbe550e1bab0cd023eba3de0"}, + {file = "matplotlib-3.7.1-cp311-cp311-win32.whl", hash = "sha256:fbdeeb58c0cf0595efe89c05c224e0a502d1aa6a8696e68a73c3efc6bc354304"}, + {file = "matplotlib-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:c0bd19c72ae53e6ab979f0ac6a3fafceb02d2ecafa023c5cca47acd934d10be7"}, + {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:6eb88d87cb2c49af00d3bbc33a003f89fd9f78d318848da029383bfc08ecfbfb"}, + {file = "matplotlib-3.7.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:cf0e4f727534b7b1457898c4f4ae838af1ef87c359b76dcd5330fa31893a3ac7"}, + {file = "matplotlib-3.7.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:46a561d23b91f30bccfd25429c3c706afe7d73a5cc64ef2dfaf2b2ac47c1a5dc"}, + {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8704726d33e9aa8a6d5215044b8d00804561971163563e6e6591f9dcf64340cc"}, + {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4cf327e98ecf08fcbb82685acaf1939d3338548620ab8dfa02828706402c34de"}, + {file = "matplotlib-3.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:617f14ae9d53292ece33f45cba8503494ee199a75b44de7717964f70637a36aa"}, + {file = "matplotlib-3.7.1-cp38-cp38-win32.whl", hash = "sha256:7c9a4b2da6fac77bcc41b1ea95fadb314e92508bf5493ceff058e727e7ecf5b0"}, + {file = "matplotlib-3.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:14645aad967684e92fc349493fa10c08a6da514b3d03a5931a1bac26e6792bd1"}, + {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:81a6b377ea444336538638d31fdb39af6be1a043ca5e343fe18d0f17e098770b"}, + {file = "matplotlib-3.7.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:28506a03bd7f3fe59cd3cd4ceb2a8d8a2b1db41afede01f66c42561b9be7b4b7"}, + {file = "matplotlib-3.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8c587963b85ce41e0a8af53b9b2de8dddbf5ece4c34553f7bd9d066148dc719c"}, + {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8bf26ade3ff0f27668989d98c8435ce9327d24cffb7f07d24ef609e33d582439"}, + {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:def58098f96a05f90af7e92fd127d21a287068202aa43b2a93476170ebd99e87"}, + {file = "matplotlib-3.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f883a22a56a84dba3b588696a2b8a1ab0d2c3d41be53264115c71b0a942d8fdb"}, + {file = "matplotlib-3.7.1-cp39-cp39-win32.whl", hash = "sha256:4f99e1b234c30c1e9714610eb0c6d2f11809c9c78c984a613ae539ea2ad2eb4b"}, + {file = "matplotlib-3.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:3ba2af245e36990facf67fde840a760128ddd71210b2ab6406e640188d69d136"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3032884084f541163f295db8a6536e0abb0db464008fadca6c98aaf84ccf4717"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a2cb34336110e0ed8bb4f650e817eed61fa064acbefeb3591f1b33e3a84fd96"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b867e2f952ed592237a1828f027d332d8ee219ad722345b79a001f49df0936eb"}, + {file = "matplotlib-3.7.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:57bfb8c8ea253be947ccb2bc2d1bb3862c2bccc662ad1b4626e1f5e004557042"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:438196cdf5dc8d39b50a45cb6e3f6274edbcf2254f85fa9b895bf85851c3a613"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:21e9cff1a58d42e74d01153360de92b326708fb205250150018a52c70f43c290"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75d4725d70b7c03e082bbb8a34639ede17f333d7247f56caceb3801cb6ff703d"}, + {file = "matplotlib-3.7.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:97cc368a7268141afb5690760921765ed34867ffb9655dd325ed207af85c7529"}, + {file = "matplotlib-3.7.1.tar.gz", hash = "sha256:7b73305f25eab4541bd7ee0b96d87e53ae9c9f1823be5659b806cd85786fe882"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.0.1" +numpy = ">=1.20" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + [[package]] name = "mccabe" version = "0.7.0" @@ -736,6 +1086,86 @@ files = [ click = "*" peewee = ">=3,<4" +[[package]] +name = "pillow" +version = "9.5.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16"}, + {file = "Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa"}, + {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38"}, + {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062"}, + {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e"}, + {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5"}, + {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d"}, + {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903"}, + {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a"}, + {file = "Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44"}, + {file = "Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb"}, + {file = "Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32"}, + {file = "Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c"}, + {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3"}, + {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a"}, + {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1"}, + {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99"}, + {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625"}, + {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579"}, + {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296"}, + {file = "Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec"}, + {file = "Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4"}, + {file = "Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089"}, + {file = "Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb"}, + {file = "Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b"}, + {file = "Pillow-9.5.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906"}, + {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf"}, + {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78"}, + {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270"}, + {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392"}, + {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47"}, + {file = "Pillow-9.5.0-cp37-cp37m-win32.whl", hash = "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7"}, + {file = "Pillow-9.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6"}, + {file = "Pillow-9.5.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597"}, + {file = "Pillow-9.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c"}, + {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a"}, + {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082"}, + {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf"}, + {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf"}, + {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51"}, + {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96"}, + {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f"}, + {file = "Pillow-9.5.0-cp38-cp38-win32.whl", hash = "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc"}, + {file = "Pillow-9.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569"}, + {file = "Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66"}, + {file = "Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e"}, + {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115"}, + {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3"}, + {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef"}, + {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705"}, + {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1"}, + {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a"}, + {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865"}, + {file = "Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964"}, + {file = "Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d"}, + {file = "Pillow-9.5.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5"}, + {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140"}, + {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba"}, + {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829"}, + {file = "Pillow-9.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd"}, + {file = "Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572"}, + {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe"}, + {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1"}, + {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7"}, + {file = "Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799"}, + {file = "Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] + [[package]] name = "planpro-exporter" version = "0.9" @@ -879,6 +1309,21 @@ tomlkit = ">=0.10.1" spelling = ["pyenchant (>=3.2,<4.0)"] testutils = ["gitpython (>3)"] +[[package]] +name = "pyparsing" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "main" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + [[package]] name = "pyproj" version = "3.5.0" @@ -1015,6 +1460,67 @@ url = "https://github.com/simulate-digital-rail/railway-route-generator" reference = "HEAD" resolved_reference = "b43e28561cd5a5fcb9fbe3ab87766ce1bc3626bb" +[[package]] +name = "requests" +version = "2.28.2" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=3.7, <4" +files = [ + {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, + {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "scipy" +version = "1.9.2" +description = "Fundamental algorithms for scientific computing in Python" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "scipy-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ee4ceed204f269da19f67f0115a85d3a2cd8547185037ad99a4025f9c61d02e9"}, + {file = "scipy-1.9.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:17be1a7c68ec4c49d8cd4eb1655d55d14a54ab63012296bdd5921c92dc485acd"}, + {file = "scipy-1.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72297eb9702576bd8f626bb488fd32bb35349d3120fc4a5e733db137f06c9a6"}, + {file = "scipy-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa270cc6080c987929335c4cb94e8054fee9a6058cecff22276fa5dbab9856fc"}, + {file = "scipy-1.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:22380e076a162e81b659d53d75b02e9c75ad14ea2d53d9c645a12543414e2150"}, + {file = "scipy-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bbed414fc25d64bd6d1613dc0286fbf91902219b8be63ad254525162235b67e9"}, + {file = "scipy-1.9.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:885b7ac56d7460544b2ef89ab9feafa30f4264c9825d975ef690608d07e6cc55"}, + {file = "scipy-1.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5994a8232cc6510a8e85899661df2d11198bf362f0ffe6fbd5c0aca17ab46ce3"}, + {file = "scipy-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e9c83dccac06f3b9aa02df69577f239758d5d0d0c069673fb0b47ecb971983d"}, + {file = "scipy-1.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:92c5e627a0635ca02e6494bbbdb74f98d93ac8730416209d61de3b70c8a821be"}, + {file = "scipy-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b6194da32e0ce9200b2eda4eb4edb89c5cb8b83d6deaf7c35f8ad3d5d7627d5c"}, + {file = "scipy-1.9.2-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:148cb6f53d9d10dafde848e9aeb1226bf2809d16dc3221b2fa568130b6f2e586"}, + {file = "scipy-1.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:658fd31c6ad4eb9fa3fd460fcac779f70a6bc7480288a211b7658a25891cf01d"}, + {file = "scipy-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4012dbe540732311b8f4388b7e1482eb43a7cc0435bbf2b9916b3d6c38fb8d01"}, + {file = "scipy-1.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:d6cb1f92ded3fc48f7dbe94d20d7b9887e13b874e79043907de541c841563b4c"}, + {file = "scipy-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1e3b23a82867018cd26255dc951789a7c567921622073e1113755866f1eae928"}, + {file = "scipy-1.9.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:82e8bfb352aa9dce9a0ffe81f4c369a2c87c85533519441686f59f21d8c09697"}, + {file = "scipy-1.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61b95283529712101bfb7c87faf94cb86ed9e64de079509edfe107e5cfa55733"}, + {file = "scipy-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8c29703202c39d699b0d6b164bde5501c212005f20abf46ae322b9307c8a41"}, + {file = "scipy-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:7b2608b3141c257d01ae772e23b3de9e04d27344e6b68a890883795229cb7191"}, + {file = "scipy-1.9.2.tar.gz", hash = "sha256:99e7720caefb8bca6ebf05c7d96078ed202881f61e0c68bd9e0f3e8097d6f794"}, +] + +[package.dependencies] +numpy = ">=1.18.5,<1.26.0" + +[package.extras] +dev = ["flake8", "mypy", "pycodestyle", "typing_extensions"] +doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-panels (>=0.5.2)", "sphinx-tabs"] +test = ["asv", "gmpy2", "mpmath", "pytest", "pytest-cov", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + [[package]] name = "six" version = "1.16.0" @@ -1103,6 +1609,23 @@ files = [ {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, ] +[[package]] +name = "urllib3" +version = "1.26.15" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, + {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + [[package]] name = "webargs" version = "8.2.0" @@ -1251,4 +1774,4 @@ resolved_reference = "f94b06c551bbbd527129448cd9bf5eb5a4575097" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "ee91bca02027f2f8e33dcd06c1df1f81f7d9df6d486f3346b2e53a732b6a9980" +content-hash = "49c706308cf68a391e66e7c236ea325c13a3a99f4959c9bd368753d634c17e1f" diff --git a/pyproject.toml b/pyproject.toml index 98ea66ec..9ffb4bc6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,9 @@ flask = "^2.2.3" webargs = "^8.2.0" freezegun = "^1.2.2" pandas = "^2.0.0" +matplotlib = "^3.7.1" +scipy = "1.9.2" +requests = "^2.28.2" [tool.poetry.group.dev.dependencies] pytest = "^7.2.2" diff --git a/research/coal_consumption/coal_consumption.ipynb b/research/coal_consumption/coal_consumption.ipynb new file mode 100644 index 00000000..39d12ab7 --- /dev/null +++ b/research/coal_consumption/coal_consumption.ipynb @@ -0,0 +1,941 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import scipy as sp\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Read raw data from csv file. The file contains data about all german power stations burning fossil fuels." + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " KW-Name \\\n", + "0 Gasturbinenkraftwerk Ahrensfelde \n", + "1 Heizkraftwerk Altbach/Deizisau \n", + "2 Industriekraftwerk Amsdorf\\n(Grubenheizkraftwerk) \n", + "3 Industriekraftwerk Annweiler \n", + "4 Industriekraftwerk Appeldorn \n", + ".. ... \n", + "322 Industriekraftwerk Zielitz \n", + "323 Kraftwerk Zolling \n", + "324 Industriekraftwerk Zülpich \n", + "325 Industriekraftwerk Zuckerfabrik Anklam \n", + "326 Industriekraftwerk Zwickau \n", + "\n", + " Brutto­leistung\\nin MWel \\\n", + "0 152 \n", + "1 1350 (davon 855 Steinkohle, 305 Erdgas und 190... \n", + "2 55 \n", + "3 ca. 30 \n", + "4 ca. 12 \n", + ".. ... \n", + "322 ca. 30 \n", + "323 572 (davon 501 Steinkohle, 21 Biomasse und 50 ... \n", + "324 ca. 40 \n", + "325 17 \n", + "326 ca. 15 \n", + "\n", + " Wärmeaus­kopplung\\nin MWth \\\n", + "0 0 \n", + "1 280 \n", + "2 189 \n", + "3 ? \n", + "4 ? \n", + ".. ... \n", + "322 ? \n", + "323 180\\n(400 MWh Wärmespeicher) \n", + "324 ? \n", + "325 ? \n", + "326 ? \n", + "\n", + " Energie­träger Standort \\\n", + "0 Erdgas Ahrensfelde \n", + "1 Steinkohle: HKW 1, HKW 2\\nHeizöl: GT A, GT B, ... Altbach\\nDeizisau \n", + "2 Braunkohle Amsdorf \n", + "3 Erdgas Annweiler \n", + "4 Erdgas\\nBiogas Kalkar \n", + ".. ... ... \n", + "322 Erdgas Zielitz \n", + "323 Steinkohle: Blöcke 1, 2, 3, 4, 5\\nKlärschlamm:... Zolling \n", + "324 Erdgas: K06\\nBraunkohle: GKW\\nBiogas: GKW\\nRes... Zülpich \n", + "325 Erdgas Anklam \n", + "326 Erdgas Zwickau \n", + "\n", + " Bun­des­land \\\n", + "0 Brandenburg Brandenburg \n", + "1 Baden-Württemberg Baden-Württemberg \n", + "2 Sachsen-Anhalt Sachsen-Anhalt \n", + "3 Rheinland-Pfalz Rheinland-Pfalz \n", + "4 Nordrhein-Westfalen Nordrhein-Westfalen \n", + ".. ... \n", + "322 Sachsen-Anhalt Sachsen-Anhalt \n", + "323 Bayern Bayern \n", + "324 Nordrhein-Westfalen Nordrhein-Westfalen \n", + "325 Mecklenburg-Vorpommern Mecklenburg-Vorpommern \n", + "326 Sachsen Sachsen \n", + "\n", + " Inbetrieb­nahme/\\nErtüchtigung \\\n", + "0 GT A: 1990\\nGT B: 1990\\nGT C: 1990\\nGT D: 1990 \n", + "1 Block 1: 1950\\nBlock 2: 1982\\nBlock 3: 1960\\nB... \n", + "2 1979 \n", + "3 1976 \n", + "4 2002 \n", + ".. ... \n", + "322 1996/2010 \n", + "323 Block 1: 1958\\nBlock 2: 1961\\nBlock 3: 1964\\nB... \n", + "324 K06: 1964\\nGKW: 1996 \n", + "325 1993 \n", + "326 2014 \n", + "\n", + " (geplante)\\nStill­legung \\\n", + "0 0!GT A: 2020 (Kapazitätsreserve)\\nGT B: 2020 (... \n", + "1 Block 1: 1982\\nBlock 2: 1993\\nBlock 3: 1993\\nB... \n", + "2 (2038 spätestens) \n", + "3 NaN \n", + "4 NaN \n", + ".. ... \n", + "322 NaN \n", + "323 0!Block 1: 1982\\nBlock 2: 1984\\nBlock 3: 1987\\... \n", + "324 Braunkohleverstromung: Vermarktungsverbot ab 3... \n", + "325 NaN \n", + "326 NaN \n", + "\n", + " Bemerkungen \\\n", + "0 GT A: 38 MW (Netto)\\nGT B: 38 MW (Netto)\\nGT C... \n", + "1 Block 1: ? MW (Netto)\\nBlock 2: ? MW (Netto)\\n... \n", + "2 45 MW (Netto)\\nEigenstrom- und Dampfversorgung... \n", + "3 28 MW (Netto)\\nEigenstrom- und Dampfversorgung... \n", + "4 11 MW (Netto)\\nEigenstrom- und Dampfversorgung... \n", + ".. ... \n", + "322 27 MW (Netto)\\nEigenstrom- und Dampfversorgung... \n", + "323 Block 1: 38 MW (Netto)\\nBlock 2: 48 MW (Netto)... \n", + "324 K06: 20 MW (Netto)\\nGKW: 15 MW (Netto)\\nEigens... \n", + "325 15 MW (Netto)\\nEigenstrom- und Dampfversorgung... \n", + "326 13 MW (Netto)\\nEigenstrom- und Dampfversorgung... \n", + "\n", + " Betreiber \\\n", + "0 LEAG \n", + "1 EnBW Energie Baden-Württemberg AG \n", + "2 ROMONTA GmbH \n", + "3 Kartonfabrik Buchmann \n", + "4 Pfeifer & Langen GmbH & Co. KG \n", + ".. ... \n", + "322 K+S AG \n", + "323 Onyx Power Group \n", + "324 Smurfit Kappa Zülpich Papier GmbH \n", + "325 Suiker Unie GmbH & Co. KG \n", + "326 Volkswagen Sachsen GmbH \n", + "\n", + " Koordinaten \n", + "0 !552.5896115513.558611552° 35′ 22,6″ N, 013° 3... \n", + "1 !548.7170615509.367475548° 43′ 01,4″ N, 009° 2... \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + ".. ... \n", + "322 NaN \n", + "323 !548.4552925511.799514548° 27′ 19,1″ N, 011° 4... \n", + "324 NaN \n", + "325 NaN \n", + "326 NaN \n", + "\n", + "[327 rows x 11 columns]\n" + ] + } + ], + "source": [ + "data = pd.read_csv(\"power_stations_raw.csv\")\n", + "# Source:\n", + "# https://www.bundesnetzagentur.de/DE/Sachgebiete/ElektrizitaetundGas/Unternehmen_Institutionen/Versorgungssicherheit/Erzeugungskapazitaeten/Kraftwerksliste/kraftwerksliste-node.html\n", + "# https://de.wikipedia.org/wiki/Liste_fossil-thermischer_Kraftwerke_in_Deutschland\n", + "print(data)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cleaning the data. We only keep the stations name, its power outputs (electrical and thermal), its fuel and the state it is in. We also rename the columns to something more handy." + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " KW-Name \\\n", + "0 Gasturbinenkraftwerk Ahrensfelde \n", + "1 Heizkraftwerk Altbach/Deizisau \n", + "2 Industriekraftwerk Amsdorf\\n(Grubenheizkraftwerk) \n", + "3 Industriekraftwerk Annweiler \n", + "4 Industriekraftwerk Appeldorn \n", + ".. ... \n", + "322 Industriekraftwerk Zielitz \n", + "323 Kraftwerk Zolling \n", + "324 Industriekraftwerk Zülpich \n", + "325 Industriekraftwerk Zuckerfabrik Anklam \n", + "326 Industriekraftwerk Zwickau \n", + "\n", + " Brutto­leistung\\nin MWel \\\n", + "0 152 \n", + "1 1350 (davon 855 Steinkohle, 305 Erdgas und 190... \n", + "2 55 \n", + "3 ca. 30 \n", + "4 ca. 12 \n", + ".. ... \n", + "322 ca. 30 \n", + "323 572 (davon 501 Steinkohle, 21 Biomasse und 50 ... \n", + "324 ca. 40 \n", + "325 17 \n", + "326 ca. 15 \n", + "\n", + " Wärmeaus­kopplung\\nin MWth \\\n", + "0 0 \n", + "1 280 \n", + "2 189 \n", + "3 ? \n", + "4 ? \n", + ".. ... \n", + "322 ? \n", + "323 180\\n(400 MWh Wärmespeicher) \n", + "324 ? \n", + "325 ? \n", + "326 ? \n", + "\n", + " Energie­träger \\\n", + "0 Erdgas \n", + "1 Steinkohle: HKW 1, HKW 2\\nHeizöl: GT A, GT B, ... \n", + "2 Braunkohle \n", + "3 Erdgas \n", + "4 Erdgas\\nBiogas \n", + ".. ... \n", + "322 Erdgas \n", + "323 Steinkohle: Blöcke 1, 2, 3, 4, 5\\nKlärschlamm:... \n", + "324 Erdgas: K06\\nBraunkohle: GKW\\nBiogas: GKW\\nRes... \n", + "325 Erdgas \n", + "326 Erdgas \n", + "\n", + " Bun­des­land \n", + "0 Brandenburg Brandenburg \n", + "1 Baden-Württemberg Baden-Württemberg \n", + "2 Sachsen-Anhalt Sachsen-Anhalt \n", + "3 Rheinland-Pfalz Rheinland-Pfalz \n", + "4 Nordrhein-Westfalen Nordrhein-Westfalen \n", + ".. ... \n", + "322 Sachsen-Anhalt Sachsen-Anhalt \n", + "323 Bayern Bayern \n", + "324 Nordrhein-Westfalen Nordrhein-Westfalen \n", + "325 Mecklenburg-Vorpommern Mecklenburg-Vorpommern \n", + "326 Sachsen Sachsen \n", + "\n", + "[327 rows x 5 columns]\n", + " name \\\n", + "0 Gasturbinenkraftwerk Ahrensfelde \n", + "1 Heizkraftwerk Altbach/Deizisau \n", + "2 Industriekraftwerk Amsdorf\\n(Grubenheizkraftwerk) \n", + "3 Industriekraftwerk Annweiler \n", + "4 Industriekraftwerk Appeldorn \n", + ".. ... \n", + "322 Industriekraftwerk Zielitz \n", + "323 Kraftwerk Zolling \n", + "324 Industriekraftwerk Zülpich \n", + "325 Industriekraftwerk Zuckerfabrik Anklam \n", + "326 Industriekraftwerk Zwickau \n", + "\n", + " electrical_power \\\n", + "0 152 \n", + "1 1350 (davon 855 Steinkohle, 305 Erdgas und 190... \n", + "2 55 \n", + "3 ca. 30 \n", + "4 ca. 12 \n", + ".. ... \n", + "322 ca. 30 \n", + "323 572 (davon 501 Steinkohle, 21 Biomasse und 50 ... \n", + "324 ca. 40 \n", + "325 17 \n", + "326 ca. 15 \n", + "\n", + " thermal_power \\\n", + "0 0 \n", + "1 280 \n", + "2 189 \n", + "3 ? \n", + "4 ? \n", + ".. ... \n", + "322 ? \n", + "323 180\\n(400 MWh Wärmespeicher) \n", + "324 ? \n", + "325 ? \n", + "326 ? \n", + "\n", + " fuel state \n", + "0 Erdgas Brandenburg \n", + "1 Steinkohle: HKW 1, HKW 2\\nHeizöl: GT A, GT B, ... Baden-Württemberg \n", + "2 Braunkohle Sachsen-Anhalt \n", + "3 Erdgas Rheinland-Pfalz \n", + "4 Erdgas\\nBiogas Nordrhein-Westfalen \n", + ".. ... ... \n", + "322 Erdgas Sachsen-Anhalt \n", + "323 Steinkohle: Blöcke 1, 2, 3, 4, 5\\nKlärschlamm:... Bayern \n", + "324 Erdgas: K06\\nBraunkohle: GKW\\nBiogas: GKW\\nRes... Nordrhein-Westfalen \n", + "325 Erdgas Mecklenburg-Vorpommern \n", + "326 Erdgas Sachsen \n", + "\n", + "[327 rows x 5 columns]\n" + ] + } + ], + "source": [ + "data = data[[\n", + " 'KW-Name', 'Brutto­leistung\\nin MWel', 'Wärmeaus­kopplung\\nin MWth',\n", + " 'Energie­träger', 'Bun­des­land'\n", + "]]\n", + "print(data)\n", + "data = data.rename(columns={\n", + " 'KW-Name': 'name',\n", + " 'Brutto­leistung\\nin MWel': 'electrical_power',\n", + " 'Wärmeaus­kopplung\\nin MWth': 'thermal_power',\n", + " 'Energie­träger': 'fuel',\n", + " 'Bun­des­land': 'state'\n", + "})\n", + "data['state'] = data['state'].apply(\n", + " lambda s: s.split(\" \")[0].strip()\n", + ")\n", + "print(data)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dropping all rows with no \"Braunkohle\"." + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [], + "source": [ + "data = data[data['fuel'].str.contains('Braunkohle')]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dropping all columns with states that are not served by \"50Hertz GmbH\". The Bundesnetzagentur delivers data specifically for the 50Hertz grid which also covers the Lausitz region." + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name \\\n", + "2 Industriekraftwerk Amsdorf\\n(Grubenheizkraftwerk) \n", + "44 Kraftwerk Boxberg \n", + "61 Heizkraftwerk Chemnitz-Nord \n", + "63 Heizkraftwerk Cottbus \n", + "68 Industriekraftwerk Deuben \n", + "103 Heizkraftwerk Frankfurt (Oder) \n", + "129 Industriekraftwerk Hainsberg \n", + "164 Kraftwerk Jänschwalde \n", + "184 Heizkraftwerk Könnern \n", + "204 Kraftwerk Lippendorf \n", + "225 Heizkraftwerk Neugersdorf \n", + "264 Kraftwerk Schkopau \n", + "265 Industriekraftwerk Schönfeld \n", + "270 Kraftwerk Schwarze Pumpe \n", + "297 Kraftwerk Wählitz \n", + "321 Kraftwerk Zeitz \n", + "\n", + " electrical_power \\\n", + "2 55 \n", + "44 2582 \n", + "61 167 \n", + "63 82 \n", + "68 86 \n", + "103 49 (davon 25 Erdgas und 24 Braunkohle) \n", + "129 1 \n", + "164 3000 \n", + "184 29 \n", + "204 1840 \n", + "225 2 \n", + "264 980 \n", + "265 1 \n", + "270 1600 \n", + "297 37 \n", + "321 70 (davon 45 Braunkohle und 25 Erdgas) \n", + "\n", + " thermal_power \\\n", + "2 189 \n", + "44 125 \n", + "61 390 (davon 305 aus KWK; ca. 700 MWh Wärmespeic... \n", + "63 120 (davon 90 aus KWK; 300 MWh Wärmespeicher i... \n", + "68 100 \n", + "103 80\\n(ca. 300 MWh Wärmespeicher im Bau) \n", + "129 5 \n", + "164 349 (458 möglich) \n", + "184 150 \n", + "204 330\\n(460 möglich) \n", + "225 17 \n", + "264 200 \n", + "265 ? \n", + "270 120 \n", + "297 40 \n", + "321 ? \n", + "\n", + " fuel state \n", + "2 Braunkohle Sachsen-Anhalt \n", + "44 Braunkohle Sachsen \n", + "61 Braunkohle: Block B, Block C\\n\\nHeizöl / Erdga... Sachsen \n", + "63 Braunkohle Brandenburg \n", + "68 Braunkohle Sachsen-Anhalt \n", + "103 Braunkohle Brandenburg \n", + "129 Braunkohle Sachsen \n", + "164 Braunkohle Brandenburg \n", + "184 Braunkohle Sachsen-Anhalt \n", + "204 Braunkohle\\n\\nBiomasse (Klärschlamm) Sachsen \n", + "225 Braunkohle Sachsen \n", + "264 Braunkohle Sachsen-Anhalt \n", + "265 Braunkohle Sachsen \n", + "270 Braunkohle Brandenburg \n", + "297 Braunkohle Sachsen-Anhalt \n", + "321 Braunkohle: Blöcke 1 und 2\\nErdgas: Block 3 Sachsen-Anhalt \n" + ] + } + ], + "source": [ + "states_to_drop = [\n", + " \"Nordrhein-Westfalen\",\n", + " \"Niedersachsen\",\n", + " \"Hessen\",\n", + " \"Bayern\",\n", + "]\n", + "for state in states_to_drop:\n", + " data = data[data['state'].str.contains(state)==False]\n", + "print(data)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Clean power values and convert them to number format." + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [], + "source": [ + "def cleanup_power_column(value: str) -> int:\n", + " value = value.split(\"\\n\")[0].split(\" \")[0].strip()\n", + " try:\n", + " value = int(value)\n", + " except ValueError:\n", + " return np.nan\n", + " else:\n", + " return value\n", + " \n", + "data['electrical_power'] = data['electrical_power'].apply(cleanup_power_column)\n", + "data['thermal_power'] = data['thermal_power'].apply(cleanup_power_column)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Some power stations don't burn only \"Braunkohle\". These corrections compensate for this." + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name electrical_power \\\n", + "2 Industriekraftwerk Amsdorf\\n(Grubenheizkraftwerk) 55.00 \n", + "44 Kraftwerk Boxberg 2582.00 \n", + "61 Heizkraftwerk Chemnitz-Nord 305.00 \n", + "63 Heizkraftwerk Cottbus 82.00 \n", + "68 Industriekraftwerk Deuben 86.00 \n", + "103 Heizkraftwerk Frankfurt (Oder) 24.00 \n", + "129 Industriekraftwerk Hainsberg 1.00 \n", + "164 Kraftwerk Jänschwalde 3000.00 \n", + "184 Heizkraftwerk Könnern 29.00 \n", + "204 Kraftwerk Lippendorf 1803.75 \n", + "225 Heizkraftwerk Neugersdorf 2.00 \n", + "264 Kraftwerk Schkopau 980.00 \n", + "265 Industriekraftwerk Schönfeld 1.00 \n", + "270 Kraftwerk Schwarze Pumpe 1600.00 \n", + "297 Kraftwerk Wählitz 37.00 \n", + "321 Kraftwerk Zeitz 45.00 \n", + "\n", + " thermal_power fuel \\\n", + "2 189.000000 Braunkohle \n", + "44 125.000000 Braunkohle \n", + "61 712.275449 Braunkohle: Block B, Block C\\n\\nHeizöl / Erdga... \n", + "63 120.000000 Braunkohle \n", + "68 100.000000 Braunkohle \n", + "103 39.183673 Braunkohle \n", + "129 5.000000 Braunkohle \n", + "164 349.000000 Braunkohle \n", + "184 150.000000 Braunkohle \n", + "204 323.498641 Braunkohle\\n\\nBiomasse (Klärschlamm) \n", + "225 17.000000 Braunkohle \n", + "264 200.000000 Braunkohle \n", + "265 NaN Braunkohle \n", + "270 120.000000 Braunkohle \n", + "297 40.000000 Braunkohle \n", + "321 NaN Braunkohle: Blöcke 1 und 2\\nErdgas: Block 3 \n", + "\n", + " state \n", + "2 Sachsen-Anhalt \n", + "44 Sachsen \n", + "61 Sachsen \n", + "63 Brandenburg \n", + "68 Sachsen-Anhalt \n", + "103 Brandenburg \n", + "129 Sachsen \n", + "164 Brandenburg \n", + "184 Sachsen-Anhalt \n", + "204 Sachsen \n", + "225 Sachsen \n", + "264 Sachsen-Anhalt \n", + "265 Sachsen \n", + "270 Brandenburg \n", + "297 Sachsen-Anhalt \n", + "321 Sachsen-Anhalt \n" + ] + } + ], + "source": [ + "corrections = [\n", + " {\n", + " 'name': \"Heizkraftwerk Chemnitz-Nord\",\n", + " 'electrical_power': 165 + 140\n", + " # https://de.wikipedia.org/wiki/Heizkraftwerk_Chemnitz-Nord#Zahlen_zum_Heizkraftwerk\n", + " },\n", + " {\n", + " 'name': \"Kraftwerk Lippendorf\",\n", + " 'electrical_power': 1850 * 0.975\n", + " # https://de.wikipedia.org/wiki/Kraftwerk_Lippendorf#Technische_Beschreibung\n", + " },\n", + " {\n", + " 'name': \"Kraftwerk Zeitz\",\n", + " 'electrical_power': 45 # see raw data\n", + " },\n", + " {\n", + " 'name': \"Heizkraftwerk Frankfurt (Oder)\",\n", + " 'electrical_power': 24 # see raw data\n", + " }\n", + "]\n", + "\n", + "for correction in corrections:\n", + " name = correction['name']\n", + " power = correction['electrical_power']\n", + " old_power = data.loc[data.name == name, 'electrical_power'].values[0]\n", + " thermal_power = data.loc[data.name == name, 'thermal_power'].values[0]\n", + " \n", + " data.loc[data.name == name, 'electrical_power'] = power\n", + " data.loc[data.name == name, 'thermal_power'] = thermal_power * (float(power) / float(old_power))\n", + "\n", + "print(data)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a linear model to map between electrical power and thermal power to fill missing values for thermal power. (Yes it is not the best fit but for an educated guess it is fine I think.)" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name electrical_power \\\n", + "2 Industriekraftwerk Amsdorf\\n(Grubenheizkraftwerk) 55.00 \n", + "44 Kraftwerk Boxberg 2582.00 \n", + "61 Heizkraftwerk Chemnitz-Nord 305.00 \n", + "63 Heizkraftwerk Cottbus 82.00 \n", + "68 Industriekraftwerk Deuben 86.00 \n", + "103 Heizkraftwerk Frankfurt (Oder) 24.00 \n", + "129 Industriekraftwerk Hainsberg 1.00 \n", + "164 Kraftwerk Jänschwalde 3000.00 \n", + "184 Heizkraftwerk Könnern 29.00 \n", + "204 Kraftwerk Lippendorf 1803.75 \n", + "225 Heizkraftwerk Neugersdorf 2.00 \n", + "264 Kraftwerk Schkopau 980.00 \n", + "270 Kraftwerk Schwarze Pumpe 1600.00 \n", + "297 Kraftwerk Wählitz 37.00 \n", + "\n", + " thermal_power fuel \\\n", + "2 189.000000 Braunkohle \n", + "44 125.000000 Braunkohle \n", + "61 712.275449 Braunkohle: Block B, Block C\\n\\nHeizöl / Erdga... \n", + "63 120.000000 Braunkohle \n", + "68 100.000000 Braunkohle \n", + "103 39.183673 Braunkohle \n", + "129 5.000000 Braunkohle \n", + "164 349.000000 Braunkohle \n", + "184 150.000000 Braunkohle \n", + "204 323.498641 Braunkohle\\n\\nBiomasse (Klärschlamm) \n", + "225 17.000000 Braunkohle \n", + "264 200.000000 Braunkohle \n", + "270 120.000000 Braunkohle \n", + "297 40.000000 Braunkohle \n", + "\n", + " state \n", + "2 Sachsen-Anhalt \n", + "44 Sachsen \n", + "61 Sachsen \n", + "63 Brandenburg \n", + "68 Sachsen-Anhalt \n", + "103 Brandenburg \n", + "129 Sachsen \n", + "164 Brandenburg \n", + "184 Sachsen-Anhalt \n", + "204 Sachsen \n", + "225 Sachsen \n", + "264 Sachsen-Anhalt \n", + "270 Brandenburg \n", + "297 Sachsen-Anhalt \n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name electrical_power \\\n", + "2 Industriekraftwerk Amsdorf\\n(Grubenheizkraftwerk) 55.00 \n", + "44 Kraftwerk Boxberg 2582.00 \n", + "61 Heizkraftwerk Chemnitz-Nord 305.00 \n", + "63 Heizkraftwerk Cottbus 82.00 \n", + "68 Industriekraftwerk Deuben 86.00 \n", + "103 Heizkraftwerk Frankfurt (Oder) 24.00 \n", + "129 Industriekraftwerk Hainsberg 1.00 \n", + "164 Kraftwerk Jänschwalde 3000.00 \n", + "184 Heizkraftwerk Könnern 29.00 \n", + "204 Kraftwerk Lippendorf 1803.75 \n", + "225 Heizkraftwerk Neugersdorf 2.00 \n", + "264 Kraftwerk Schkopau 980.00 \n", + "265 Industriekraftwerk Schönfeld 1.00 \n", + "270 Kraftwerk Schwarze Pumpe 1600.00 \n", + "297 Kraftwerk Wählitz 37.00 \n", + "321 Kraftwerk Zeitz 45.00 \n", + "\n", + " thermal_power fuel \\\n", + "2 189.000000 Braunkohle \n", + "44 125.000000 Braunkohle \n", + "61 712.275449 Braunkohle: Block B, Block C\\n\\nHeizöl / Erdga... \n", + "63 120.000000 Braunkohle \n", + "68 100.000000 Braunkohle \n", + "103 39.183673 Braunkohle \n", + "129 5.000000 Braunkohle \n", + "164 349.000000 Braunkohle \n", + "184 150.000000 Braunkohle \n", + "204 323.498641 Braunkohle\\n\\nBiomasse (Klärschlamm) \n", + "225 17.000000 Braunkohle \n", + "264 200.000000 Braunkohle \n", + "265 NaN Braunkohle \n", + "270 120.000000 Braunkohle \n", + "297 40.000000 Braunkohle \n", + "321 NaN Braunkohle: Blöcke 1 und 2\\nErdgas: Block 3 \n", + "\n", + " state \n", + "2 Sachsen-Anhalt \n", + "44 Sachsen \n", + "61 Sachsen \n", + "63 Brandenburg \n", + "68 Sachsen-Anhalt \n", + "103 Brandenburg \n", + "129 Sachsen \n", + "164 Brandenburg \n", + "184 Sachsen-Anhalt \n", + "204 Sachsen \n", + "225 Sachsen \n", + "264 Sachsen-Anhalt \n", + "265 Sachsen \n", + "270 Brandenburg \n", + "297 Sachsen-Anhalt \n", + "321 Sachsen-Anhalt \n" + ] + } + ], + "source": [ + "data_wo_nan = data.dropna()\n", + "print(data_wo_nan)\n", + "model = sp.stats.linregress(data_wo_nan['electrical_power'], data_wo_nan['thermal_power'])\n", + "plt.plot(data_wo_nan['electrical_power'], data_wo_nan['thermal_power'], 'o')\n", + "plt.plot(data_wo_nan['electrical_power'], model.intercept + model.slope * data_wo_nan['electrical_power'], 'r')\n", + "plt.legend(['data', 'linear regression'])\n", + "plt.xlabel('electrical power [MW]')\n", + "plt.ylabel('thermal power [MW]')\n", + "plt.show()\n", + "\n", + "def guess_thermal_power(power: int, thermal_power: int) -> int:\n", + " if thermal_power == np.nan:\n", + " return model.intercept + model.slope * power\n", + " else:\n", + " return thermal_power\n", + "\n", + "data['thermal_power'] = data.apply(lambda d: guess_thermal_power(d['electrical_power'], d[\"thermal_power\"]), axis=1)\n", + "print(data)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute the total power production (electrical and thermal) of the \"Braunkohle\" power stations." + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10632.75\n", + "2489.957763875532\n" + ] + } + ], + "source": [ + "total_electrical_power_production = data['electrical_power'].sum()\n", + "total_thermal_power_production = data['thermal_power'].sum()\n", + "print(total_electrical_power_production)\n", + "print(total_thermal_power_production)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Filter for all power stations that are connected to the LEAG train network and also add their efficiencies." + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name electrical_power thermal_power efficiency\n", + "44 Kraftwerk Boxberg 2582.0 125.0 0.420\n", + "164 Kraftwerk Jänschwalde 3000.0 349.0 0.355\n", + "270 Kraftwerk Schwarze Pumpe 1600.0 120.0 0.400\n" + ] + } + ], + "source": [ + "lausitz_power_plants = [\n", + " \"Kraftwerk Boxberg\",\n", + " \"Kraftwerk Jänschwalde\",\n", + " \"Kraftwerk Schwarze Pumpe\"\n", + "]\n", + "efficiencies = [\n", + " 0.42, # https://de.wikipedia.org/wiki/Kraftwerk_Boxberg#Aufbau_und_technische_Daten\n", + " 0.355, # https://de.wikipedia.org/wiki/Kraftwerk_J%C3%A4nschwaldeAufbau_und_Technische_Daten\n", + " 0.4, # https://de.wikipedia.org/wiki/Kraftwerk_Schwarze_Pumpe#Technische_Daten\n", + "]\n", + "\n", + "data = data[data['name'].isin(lausitz_power_plants)]\n", + "data['efficiency'] = efficiencies\n", + "data = data.drop(columns=['fuel', 'state'], axis=0)\n", + "print(data)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute the coal consumption of a power station given the \"Braunkohle\" based electrical power production in the whole 50Hertz grid and the duration in hours." + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1387.6271580202263\n", + "1907.4742863195033\n", + "902.871954724912\n" + ] + } + ], + "source": [ + "coal_energy_content = 2.5 # MWh/t\n", + "# source: https://enertrag.org/kwh/braunkohle/\n", + "\n", + "def compute_coal_consumption(produced_electrical_power: float, hours: float, station_name: str) -> float:\n", + " station_data = data[data.name.str.contains(station_name)]\n", + " \n", + " # efficiency of the stations power conversion from burning coal to production of electricity and heat\n", + " efficiency = station_data['efficiency'].values[0]\n", + " # the maximum electrical power the station can output\n", + " electrical_power = station_data['electrical_power'].values[0]\n", + " # the maximum thermal power the station can output\n", + " thermal_power = station_data['electrical_power'].values[0]\n", + " \n", + " # the share of the stations electrical power to the overall electrical power in the 50Hertz grid\n", + " electrical_power_share = electrical_power / total_electrical_power_production\n", + " # the ratio between max thermal and max electrical power\n", + " thermal_power_ratio = thermal_power / electrical_power\n", + " \n", + " # the electrical power the station produces given the overall grid production in the given time\n", + " electrical_production = (produced_electrical_power / hours) * electrical_power_share\n", + " # the stations thermal power production\n", + " thermal_production = thermal_power_ratio / electrical_production\n", + " # the stations total power production\n", + " total_production = electrical_production + thermal_production\n", + " \n", + " # the mass of coal in tons the station has to burn in the given time\n", + " coal_mass = hours * total_production / (coal_energy_content * efficiency)\n", + " \n", + " return coal_mass # in tons\n", + " \n", + "print(compute_coal_consumption(6000, 1, \"Boxberg\"))\n", + "print(compute_coal_consumption(6000, 1, \"Jänschwalde\"))\n", + "print(compute_coal_consumption(6000, 1, \"Schwarze Pumpe\"))" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute train amount based on coal mass." + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Boxberg: 3 trains\n", + "Jänschwalde: 4 trains\n", + "Schwarze Pumpe: 2 trains\n" + ] + } + ], + "source": [ + "coal_per_waggon = 73 - 40 # t\n", + "waggons_per_train = 16\n", + "# https://youtu.be/sJYPPdm-HdE?t=39\n", + "\n", + "coal_per_train = coal_per_waggon * waggons_per_train\n", + "\n", + "def train_amount(coal_mass: float) -> int:\n", + " return round(coal_mass / coal_per_train)\n", + "\n", + "for name in [\"Boxberg\", \"Jänschwalde\", \"Schwarze Pumpe\"]:\n", + " # 6000 MWh in 1 hour from \"Braunkohle\" in the entire 50Hertz grid.\n", + " coal_mass = compute_coal_consumption(6000, 1, name)\n", + " trains = train_amount(coal_mass)\n", + " print(f\"{name}: {trains} trains\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/research/coal_consumption/power_stations_raw.csv b/research/coal_consumption/power_stations_raw.csv new file mode 100644 index 00000000..9596aca4 --- /dev/null +++ b/research/coal_consumption/power_stations_raw.csv @@ -0,0 +1,1820 @@ +KW-Name,"Brutto­leistung +in MWel","Wärmeaus­kopplung +in MWth",Energie­träger,Standort,Bun­des­land,"Inbetrieb­nahme/ +Ertüchtigung","(geplante) +Still­legung",Bemerkungen,Betreiber,Koordinaten +Gasturbinenkraftwerk Ahrensfelde,152,0,Erdgas,Ahrensfelde,Brandenburg Brandenburg,"GT A: 1990 +GT B: 1990 +GT C: 1990 +GT D: 1990","0!GT A: 2020 (Kapazitätsreserve) +GT B: 2020 (Kapazitätsreserve) +GT C: 2020 (Kapazitätsreserve) +GT D: 2020 (Kapazitätsreserve)","GT A: 38 MW (Netto) +GT B: 38 MW (Netto) +GT C: 38 MW (Netto) +GT D: 38 MW (Netto)",LEAG,"!552.5896115513.558611552° 35′ 22,6″ N, 013° 33′ 31,0″ O52.58961111111113.558611111111" +Heizkraftwerk Altbach/Deizisau,"1350 (davon 855 Steinkohle, 305 Erdgas und 190 Erdgas/Heizöl)",280,"Steinkohle: HKW 1, HKW 2 +Heizöl: GT A, GT B, GT C, Block 4 +Erdgas: GT A, GT B, GT C, GT E, Block 4","Altbach +Deizisau",Baden-Württemberg Baden-Württemberg,"Block 1: 1950 +Block 2: 1982 +Block 3: 1960 +Block 4: 1972 mit +GT A: 1972 +HKW 1: 1985/2006 +HKW 2: 1997/2012 mit +GT E: 1997 +GT B: 1974 +GT C: 1976","Block 1: 1982 +Block 2: 1993 +Block 3: 1993 +Block 4: 2000? (Kaltreserve?)2019! mit +GT A: 2015 (Netzreserve) +HKW 1: 2017 (Netzreserve) +GT E: 2015 (Netzreserve) +GT B: 2015 (Netzreserve) +GT C: 2015 (Netzreserve)","Block 1: ? MW (Netto) +Block 2: ? MW (Netto) +Block 3: ? MW (Netto) +Block 4: ca. 175 MW (Netto) mit +GT A: 50 MW (Netto) +HKW 1: 433 MW (Netto) +HKW 2: 336 MW (Netto) mit +GT E: 65 MW (Netto) +GT B: 57 MW (Netto) +GT C: 81 MW (Netto)",EnBW Energie Baden-Württemberg AG,"!548.7170615509.367475548° 43′ 01,4″ N, 009° 22′ 02,9″ O48.7170611111119.367475" +"Industriekraftwerk Amsdorf +(Grubenheizkraftwerk)",55,189,Braunkohle,Amsdorf,Sachsen-Anhalt Sachsen-Anhalt,1979,(2038 spätestens),"45 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Montanwachsfabrik und des angeschlossenen Tagebaus Amsdorf",ROMONTA GmbH, +Industriekraftwerk Annweiler,ca. 30,?,Erdgas,Annweiler,Rheinland-Pfalz Rheinland-Pfalz,1976,,"28 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Kartonfabrik",Kartonfabrik Buchmann, +Industriekraftwerk Appeldorn,ca. 12,?,"Erdgas +Biogas",Kalkar,Nordrhein-Westfalen Nordrhein-Westfalen,2002,,"11 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Pfeifer & Langen GmbH & Co. KG, +Industriekraftwerk Aschaffenburg,ca. 50,?,"Erdgas: HKW, GuD +Heizöl: Notstromdiesel +Biomasse: BHKW 1 und BHKW 2",Aschaffenburg,Bayern Bayern,"HKW: ? +Notstromdiesel: 1991 +BHKW 1: 2005 +BHKW 2: 2010 +GuD: 2013",HKW: 2012,"HKW: 27 MW (Netto) +Notstromdiesel: 1 MW (Netto) +BHKW 1: 1 MW (Netto) +BHKW 2: 1 MW (Netto) +GuD: 47 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",DS Smith Paper Deutschland GmbH, +Kraftwerk des Abfallentsorgungszentrums Asdonkshof,27 (davon 22 Müll und 5 Heizöl),?,"Müll: MVA +Heizöl: Notstromdiesel",Kamp-Lintfort,Nordrhein-Westfalen Nordrhein-Westfalen,"MVA: 1997 +Notstromdiesel: 1997",,"MVA: 16 MW (Netto) +Notstromdiesel: 5 MW (Netto)",Kreis Weseler Abfallgesellschaft mbH & Co. KG, +Kraftwerk Audorf,87,0,Mineralölprodukte,Osterrönfeld,Schleswig-Holstein Schleswig-Holstein,1973,,87 MW (Netto),Uniper Kraftwerke GmbH, +Gasturbinen-Heizkraftwerk Augsburg-Ost,ca. 31,41 (320 MWh Wärmespeicher),Erdgas,Augsburg,Bayern Bayern,2004,,31 MW (Netto),Stadtwerke Augsburg Energie GmbH, +Heizkraftwerk Augsburg,ca. 20,?,"Erdgas +Heizöl",Augsburg,Bayern Bayern,1976,,20 MW (Netto),Stadtwerke Augsburg Energie GmbH, +Industriekraftwerk Augsburg,ca. 30,?,Erdgas,Augsburg,Bayern Bayern,1976,2015? (Kaltreserve),"29 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",UPM GmbH Werk Augsburg, +Industriekraftwerk Bad Kreuznach,ca. 12,?,Erdgas,Bad Kreuznach,Rheinland-Pfalz Rheinland-Pfalz,2006,,"11 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Reifenfabrik",Michelin Reifenwerke AG & Co. KGaA, +Heizkraftwerk Bad Salzungen,21,67 (davon 20 aus KWK; ca. 300 MWh Wärmespeicher),Erdgas,Bad Salzungen,Thüringen Thüringen,"HKW: 1994 +GM: 2018",,"HKW: 10 MW (Netto) +GM: 10 MW (Netto)",TEAG Thüringer Energie AG, +Kraftwärme-Kopplungsanlage Barby,ca. 20,?,Erdgas,Barby,Sachsen-Anhalt Sachsen-Anhalt,1994,,"18 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Stärke- und Alkoholfabrik",Cargill Deutschland GmbH, +Heizkraftwerk Barmen,145,112,"Erdgas: Block 1 +Heizöl: Block 2",Wuppertal-Barmen,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 2005 +Block 2: 2008",0!,"Block 1: 82 MW (Netto) +Block 2: 60 MW (Netto)",WSW Energie & Wasser AG,"!551.2691285507.200475551° 16′ 08,9″ N, 007° 12′ 01,7″ O51.2691277777787.200475" +GuD Baunatal,ca. 80,312 (davon 85 aus KWK),Erdgas,Baunatal,Hessen Hessen,"GuD: 2011 +HKW Kassel: 1961",HKW Kassel: 2013,"GuD: 78 MW (Netto) +HKW Kassel: 12 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Automobilfabrik",Volkswagen AG, +Heizkraftwerk Bautzen,7,33 (davon 8 aus KWK; 130 MWh Wärmespeicher),Erdgas,Bautzen,Sachsen Sachsen,2017,,6 MW (Netto),Energie- und Wasserwerke Bautzen GmbH, +Kraftwerk Bergkamen,780,20,Steinkohle,Bergkamen,Nordrhein-Westfalen Nordrhein-Westfalen,Block A: 1981,Block A: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG,Block A: 717 MW (Netto),Steag GmbH,"!551.6367115507.620569551° 38′ 12,2″ N, 007° 37′ 14,0″ O51.6367111111117.6205694444444" +Heizkraftwerk Berlin-Adlershof,13,96,Erdgas,Berlin-Adlershof,Berlin Berlin,1966/92/2015,0!,13 MW (Netto),Blockheizkraftwerks-Träger und Betriebsgesellschaft mbH Berlin, +Heizkraftwerk Berlin-Buch,13,137,"Heizöl +Erdgas",Berlin-Buch,Berlin Berlin,"Altanlage: 1974 +Neuanlage: 2014",Altanlage: 2014,13 MW (Netto),Vattenfall Europe Wärme AG,"!552.6350005513.510325552° 38′ 06,0″ N, 013° 30′ 37,2″ O52.63513.510325" +Heizkraftwerk Berlin-Charlottenburg,144,295,"Heizöl +Erdgas",Berlin-Charlottenburg,Berlin Berlin,"GT 4: 1976!1976/2000GT 5: 1976!1976/2000 +GT 6: 1976!1976/2000",GT 6: 2018,"GT 4: 72 MW (Netto) +GT 5: 72 MW (Netto) +GT 6: 67 MW (Netto)",Vattenfall Europe Wärme AG,"!552.5221565513.308661552° 31′ 19,8″ N, 013° 18′ 31,2″ O52.52215555555613.308661111111" +Blockheizkraftwerk Mercedes-Benz Werk Berlin,"1,9",2,Erdgas,Berlin-Marienfelde,Berlin Berlin,2017,,"2 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Daimler-Werkes",Daimler AG Mercedes-Benz Werk Berlin, +Heizkraftwerk Berlin-Klingenberg,188,1010 (davon 760 aus KWK),Erdgas,Berlin-Rummelsburg,Berlin Berlin,"1982 +2017 Umrüstung von Braunkohle auf Erdgas",2025!(2025: Umrüstung von Erdgas auf Power to Heat geplant),164 MW (Netto),Vattenfall Europe Wärme AG,"!552.4900255513.495942552° 29′ 24,1″ N, 013° 29′ 45,4″ O52.49002513.495941666667" +Blockheizkraftwerk Berlin-Köpenick,10,50,"Heizöl +Erdgas",Berlin-Köpenick,Berlin Berlin,1994,0!,,Vattenfall Europe Wärme AG,"!552.4352785513.581667552° 26′ 07,0″ N, 013° 34′ 54,0″ O52.43527777777813.581666666667" +Heizkraftwerk Berlin-Lichterfelde,ca. 480,613,Erdgas,Berlin-Lichterfelde,Berlin Berlin,"Block 1: 1972/98 +Block 2: 1973/98 +Block 3: 1974/98 +GuD A: 2019","2019!(Block 1: 2019/20) + +Block 2: 2016 + +Block 3: 2018","Block 1: 144 MW (Netto) +Block 2: 144 MW (Netto) +Block 3: 144 MW (Netto) +GuD A: 300 MW (Netto)",Vattenfall Europe Wärme AG,"!552.4256255513.310267552° 25′ 32,3″ N, 013° 18′ 37,0″ O52.42562513.310266666667" +Heizkraftwerk Berlin-Marzahn,260!(260) im Bau,230!(230) im Bau + ?,Erdgas,Berlin-Marzahn,Berlin Berlin,(GuD: 2019/20),0!,GuD: 254 MW (Netto),Vattenfall Europe Wärme AG,"!552.5234035513.522211552° 31′ 24,3″ N, 013° 31′ 20,0″ O52.52340277777813.522211111111" +Heizkraftwerk Berlin-Mitte,468,1210 (davon 680 aus KWK),Erdgas,Berlin-Mitte,Berlin Berlin,1997,0!,"444 MW (Netto) +GuD-Kraftwerk mit zwei GT und einer DT",Vattenfall Europe Wärme AG,"!552.5115925513.420992552° 30′ 41,7″ N, 013° 25′ 15,6″ O52.51159166666713.420991666667" +Heizkraftwerk Berlin-Moabit,140 (davon 100 Steinkohle und 40 Mineralölprodukte),240 (davon 136 aus KWK),"Steinkohle: Block A +Biomasse: Block A +Mineralölprodukte: GT 7",Berlin-Moabit,Berlin Berlin,"Block A: 1969/1990 +GT 7: 1971","2030! +(Block A: voraussichtlich 2030 Steinkohle-Verfeuerung)","Block A: 89 MW (Netto) +GT 7: 34 MW (Netto) (bis 2018 51 MW (Netto))",Vattenfall Europe Wärme AG,"!552.5375005513.345833552° 32′ 15,0″ N, 013° 20′ 45,0″ O52.537513.345833333333" +Fernheizwerk Berlin-Neukölln,10,"ca. 60 (incl. 10 PtH; +ca. 300 MWh Wärmespeicher)",Erdgas/Heizöl/Holz,Berlin-Neukölln,Berlin Berlin,2001/11/13/14,,ca. 10 MW (Netto) verteilt auf mehrere BHKWs,Fernheizwerk Neukölln AG (Hauptaktionär: Vattenfall Europe Wärme AG), +Holzheizkraftwerk Berlin-Neukölln,20,66,Erdgas/Altholz,Berlin-Rudow,Berlin Berlin,2006,,,E.ON Energy Solutions GmbH, +Heizkraftwerk Berlin-Schöneweide,10,36,Steinkohle,Berlin-Schöneweide,Berlin Berlin,"Altanlage: 1963 +Neuanlage: 1992/2005",,"10 MW (Netto) +Umstellung auf regenerative Brennstoffe geplant",Blockheizkraftwerks-Träger und Betriebsgesellschaft mbH Berlin, +Kraftwerk Reuter West,600,758 (davon 726 aus KWK; zuzüglich 120 (PtH und Erdgas) vom benachbarten ehem. Kraftwerk Reuter; 2500 MWh Wärmespeicher geplant),Steinkohle,Berlin-Siemensstadt,Berlin Berlin,"Block D: 1987 +Block E: 1988","2030! +(Block D: voraussichtlich 2030) +(Block E: voraussichtlich 2030)","Block D: 282 MW (Netto) +Block E: 282 MW (Netto)",Vattenfall Europe Wärme AG,"!552.5345695513.244533552° 32′ 04,4″ N, 013° 14′ 40,3″ O52.53456944444413.244533333333" +Heizwerk Scharnhorststraße,12,200,Erdgas,Berlin-Mitte,Berlin Berlin,2018,0!,12 MW (Netto),Vattenfall Wärme Berlin, +Energieversorgung Berlin-Wedding,ca. 16,?,Erdgas,Berlin-Wedding,Berlin Berlin,1972,,15 MW (Netto),Bayer AG, +Heizkraftwerk Berlin-Wilmersdorf,184,285,Heizöl,Berlin-Wilmersdorf,Berlin Berlin,"GT 1: 1977 +GT 2: 1977 +GT 3: 1977",GT 3: 2019,"GT 1: 92 MW (Netto) +GT 2: 92 MW (Netto) +GT 3: 92 MW (Netto)",Vattenfall Europe Wärme AG,"!552.4816365513.307867552° 28′ 53,9″ N, 013° 18′ 28,3″ O52.48163611111113.307866666667" +Kraftwerk Bernburg,155,232,Erdgas,Bernburg,Sachsen-Anhalt Sachsen-Anhalt,1994,0!,"141 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks +Kraftwerk wird 2020 modernisiert",Solvay Chemicals GmbH, +Industriekraftwerk Ville/Berrenrath,107,40,"Braunkohle +Biomasse +Klärschlamm",Hürth-Knapsack / Berrenrath,Nordrhein-Westfalen Nordrhein-Westfalen,1917/91/93,0!(2038 spätestens),"98 MW (Netto) +Eingestrom- und Dampfversorgung des Kohleveredlungsbetriebes Ville/Berrenrath",RWE Power AG,"!550.8653335506.824111550° 51′ 55,2″ N, 006° 49′ 26,8″ O50.8653333333336.8241111111111" +Kraftwerk Bexbach,780,0,Steinkohle,Bexbach,Saarland Saarland,1983,2020!2017 (Netzreserve),726 MW (Netto),Steag GmbH,"!549.3634755507.237050549° 21′ 48,5″ N, 007° 14′ 13,4″ O49.3634757.23705" +GuD-Kraftwerk Bielefeld-Hillegossen,ca. 40,?,Erdgas,Bielefeld,Nordrhein-Westfalen Nordrhein-Westfalen,2005,,"38 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Stadtwerke Bielefeld GmbH, +Heizkraftwerk Bielefeld-Schildescher Straße,ca. 70,?,"Erdgas +Heizöl",Bielefeld,Nordrhein-Westfalen Nordrhein-Westfalen,"Teil 1: 1966 +Teil 2: 1977",,"Teil 1: 41 MW (Netto) +Teil 2: 23 MW (Netto)",Stadtwerke Bielefeld GmbH, +Kraftwerk Chemiepark Bitterfeld,108,110,Erdgas,Bitterfeld,Sachsen-Anhalt Sachsen-Anhalt,1976/2000,0!,"106 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks; +Turbine wird 2020 modernisiert",envia THERM GmbH, +Heizkraftwerk Bohrhügel,ca. 15,?,"Erdgas +Heizöl",Suhl,Thüringen Thüringen,1995,,14 MW (Netto),Stadtwerke Suhl/Zella-Mehlis, +Heizkraftwerk Bomlitz,ca. 15,?,Erdgas,Bomlitz,Niedersachsen Niedersachsen,"GuD: 1969 +BHKW: 2019",GuD: 2019,"GuD: 16 MW (Netto) +BHKW: 13 MW (Netto) +Eigenstrom- und Dampfversorgung des Industrieparks Walsrode",EnBW Energie Baden-Württemberg AG, +Heizkraftwerk Bonn-Karlstraße,ca. 115 (davon ca. 15 Müll und ca. 100 Erdgas),?,"Müll: Müllblock +Erdgas: Erdgasblock",Bonn,Nordrhein-Westfalen Nordrhein-Westfalen,"Müllblock: 1990 +Erdgasblock: 2013",,"Müllblock: 12 MW (Netto) +Erdgasblock: 95 MW (Netto)",Energie- und Wasserversorgung Bonn / Rhein-Sieg GmbH, +Kraftwerk Boxberg,2582,125,Braunkohle,Boxberg,Sachsen Sachsen,"Block N: 1979/1993 +Block P: 1980/1994 +Block Q: 2000 +Block R: 2012","0! +(Block N: 31. Dezember 2029 spätestens) + +(Block P: 31. Dezember 2029 spätestens) + +(Block Q: 31. Dezember 2038 spätestens) + +(Block R: 31. Dezember 2038 spätestens)","Block N: 465 MW (Netto) +Block P: 465 MW (Netto) +Block Q: 857 MW (Netto) +Block R: 640 MW (Netto) + + +Platz 5 – mit ~15,5 Mio. Jahrestonnen CO2 – auf der Liste der Kraftwerke mit dem höchsten CO2-Ausstoß in der EU.",LEAG,"!551.4149865514.561600551° 24′ 54,0″ N, 014° 33′ 41,8″ O51.41498611111114.5616" +Heizkraftwerk Brandenburg an der Havel,ca. 40,130 (davon 50 aus KWK; 64 MWh Wärmespeicher),Erdgas,Brandenburg an der Havel,Brandenburg Brandenburg,1997,,37 MW (Netto),Stadtwerke Brandenburg an der Havel GmbH & Co. KG, +"Blockheizkraftwerk ""Braunschweig""",ca. 11,?,Erdgas,Wolfsburg,Niedersachsen Niedersachsen,2014,,10 MW (Netto),Volkswagen Kraftwerk GmbH, +Heizkraftwerk Braunschweig-Mitte,183 (davon 78 Steinkohle und 105 Erdgas),386 (500 MWh Wärmespeicher),"Steinkohle: Block 1 +Schweröl: Block 1, Block 12 +Heizöl: GuD +Erdgas: Block 1, Block 12, GuD",Braunschweig,Niedersachsen Niedersachsen,"Block 12: 1971 +Block 1: 1984 +GuD: 2010","2022! +(Block 1: 2022 voraussichtlich )","Block 12: 20 MW (Netto) +Block 1: 43 MW (Netto) +GuD: 74 MW (Netto) +(Block 1 soll durch ein Gasturbinen-HKW mit ca. 20 MWel und ca. 60 MWth sowie durch ein Biomasse-HKW mit ca. 20 MWel und ca. 70 MWth ersetzt werden.)",Braunschweiger Versorgungs-AG & Co. KG,"!552.2787695510.514989552° 16′ 43,6″ N, 010° 30′ 54,0″ O52.27876944444410.514988888889" +Heizkraftwerk Braunschweig-Nord,27,80,Erdgas,Braunschweig,Niedersachsen Niedersachsen,GT: 1965,,GT: 25 MW (Netto),Braunschweiger Versorgungs-AG & Co. KG, +KWK-Anlage Bremen,ca. 16,?,Erdgas,Bremen Industriehäfen,Bremen Bremen,1993/2002,,"15 MW (Netto) +Eigenstrom- und Dampfversorgung für Kaffeeverarbeitung",CR3-Kaffeeveredelung M. Hermsen GmbH, +Kraftwerk Bremen-Farge,397,26,"Steinkohle +Klärschlamm",Bremen-Farge,Bremen Bremen,"Altwerk: 1924/26 +Block 1: 1969/2007","2024!Altwerk: 1980 +Block 1: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG","Altwerk: ca. 12 MW (Netto) +Block 1: 350 MW (Netto)",Onyx Power Assets GmbH,"!553.2021255508.516100553° 12′ 07,7″ N, 008° 30′ 58,0″ O53.2021258.5161" +Kraftwerk Bremen-Hafen,337,39,Steinkohle,Bremen Industriehäfen,Bremen Bremen,"Block 1: 1957 +Block 2: 1957 +Block 3: 1962 +Block 4: 1964 +Block 5: 1968 +Block 6: 1979/2013","2026!Block 1: vor 2011 +Block 2: vor 2011 +Block 3: vor 2011 +Block 4: vor 2011 +Block 5: 2016 +Block 6: Vermarktungsverbot ab 01.01.2021 gemäß KVBG","Block 1: ? +Block 2: ? +Block 3: ? +Block 4: ? +Block 5: 127 MW (Netto) +Block 6: 303 MW (Netto) +Nutzt auch Dampf vom benachbarten Mittelkalorik-Kraftwerk Bremen",swb Erzeugung AG & Co. KG,"!553.1248725508.728642553° 07′ 29,5″ N, 008° 43′ 43,1″ O53.1248722222228.7286416666667" +Kraftwerk Bremen-Hastedt,130,170 (230 MWh Wärmespeicher),"Erdgas: Block 14 +Steinkohle: Block 15",Bremen-Hastedt,Bremen Bremen,"Block 14: 1972 +Block 15: 1989",0!Block 14: 2016,"Block 14: 155 MW (Netto) +Block 15: 119 MW (Netto)",swb Erzeugung AG & Co. KG,"!553.0597785508.873167553° 03′ 35,2″ N, 008° 52′ 23,4″ O53.0597777777788.8731666666667" +Kraftwerk Bremen-Mittelsbüren,248,0,"Schweröl: Blöcke 1, 2, 4 bis 2002 +Heizöl: GT 3 +Erdgas: Blöcke 3, 4 +Gichtgas, Konvertergas: Blöcke 1, 2, 3 sowie 4 ab 2002",Bremen-Werderland,Bremen Bremen,"Block 1: 1964 +Block 2: 1965 +Block 3: 1975 +GT 3: 1975 +Block 4: 1975/2002","0!Block 1: 2002 +Block 2: 2004 +Block 3: 2013","Block 1: ca. 50 MW (Netto) +Block 2: ca. 50 MW (Netto) +Block 3: 110 MW (Netto) +GT 3: 86 MW (Netto) +Block 4: 150 MW (Netto)",swb Erzeugung AG & Co. KG,"!553.1289815508.683394553° 07′ 44,3″ N, 008° 41′ 00,2″ O53.1289805555568.6833944444444" +Gemeinschaftskraftwerk Bremen (GKB),460,0,Erdgas,Bremen-Werderland,Bremen Bremen,GuD: 2016,0!,"GuD: 445 MW (Netto) +(davon 165 MW Bahnstrom)",swb Erzeugung AG & Co. KG,"!553.1293815508.681978553° 07′ 45,8″ N, 008° 40′ 55,1″ O53.1293805555568.6819777777778" +Industriekraftwerk Bremerhaven,ca. 20,?,Erdgas,Bremerhaven,Bremen Bremen,2014,,"17 MW (Netto) +Eigenstrom- und Dampfversorgung für Titandioxid-Produktion",Kronos Titan GmbH, +Industriekraftwerk Breuberg,12,20,Erdgas,Breuberg,Hessen Hessen,1999,,"11 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Pirelli-Werkes",Industriekraftwerk Breuberg GmbH, +Egger Kraftwerk Brilon,ca. 35 (davon ca. 20 Biomasse und ca. 15 Erdgas),?,"Biomasse: Biomasse-KWK +Erdgas: GT-KWK",Brilon,Nordrhein-Westfalen Nordrhein-Westfalen,"Biomasse-KWK: 1991 +GT-KWK: 1996",,"Biomasse-KWK: 18 MW (Netto) +GT-KWK: 14 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Holzverarbeitungsfabrik",Egger Holzwerkstoffe Brilon GmbH & Co. KG, +Kraftwerk Burghausen,178,350,"Erdgas, Heizöl",Burghausen,Bayern Bayern,"GT: 2001 +DT: 1979",0!,"GT: 120 MW (Netto) +DT: 50 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks",Wacker Chemie AG,"48° 11' 14.719"" N, 012° 50' 6.958"" O" +Kraftwerk Buschhaus,405,0,Braunkohle,Schöningen,Niedersachsen Niedersachsen,Block D: 1985,"2020! +(Block D: 2016/2020 (Sicherheitsbereitschaft))",Block D: 352 MW (Netto),"Helmstedter Revier GmbH +(Mitteldeutsche Braunkohlengesellschaft mbH)","!552.1717645510.977192552° 10′ 18,4″ N, 010° 58′ 37,9″ O52.17176388888910.977191666667" +Industriekraftwerk Marl,ca. 550 (davon ca. 136 Steinkohle und ca. 414 Erdgas),1213,"Steinkohle: KW I, KW II + +Erdgas: KW III, KW IV +Rückstände der Chemieproduktion: KW I, KW II",Marl,Nordrhein-Westfalen Nordrhein-Westfalen,"KW I Dampfwirt-schaft: 1939 +KW I Block 4: 1971 +KW I Block 5: 1983 +KW II Block 3: 1966 +KW III Block 311: 1973/2003/2005 +KW III Block 312: 1974/2003/2005 +Kraftwerk IV: 2016 +(Block ?: 2022) +(Block ?: 2022)","0! +(KW I: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG) +KW II Block 3: 2017","KW I Dampfwirtschaft: 169 MW (Netto) +KW I Block 4: 56 MW (Netto) +KW I Block 5: 68 MW (Netto) +KW II Block 3: 60 MW (Netto) +Kraftwerk III Block 311: 61 MW (Netto) +Kraftwerk III Block 312: 78 MW (Netto) +Kraftwerk IV (GuD): 61 MW (Netto) +(GuD mit zwei Blöcken zu je 90 MWel geplant (Marl VI)) +(GuD mit 90 MWel und 220 MW thermisch geplant (Marl VII), danach Abschaltung Gasreservekraftwerk) +Eigenstrom- und Dampfversorgung des Chemieparks Marl",Evonik Degussa GmbH,"!551.6927785507.109167551° 41′ 34,0″ N, 007° 06′ 33,0″ O51.6927777777787.1091666666667" +Heizkraftwerk Chemnitz-Nord,167,390 (davon 305 aus KWK; ca. 700 MWh Wärmespeicher),"Braunkohle: Block B, Block C + +Heizöl / Erdgas: Block A",Chemnitz,Sachsen Sachsen,"Block A: 1986 +Block B: 1988 +Block C: 1990/2010","2028! +Block A: 2016 (Kaltreserve) nach Havarie +(Block B: 2022/29) +(Block C: 2022/29)","Block A: 57 MW (Netto) +Block B: 57 MW (Netto) +Block C: 91 MW (Netto) +Derzeit höchster Schornstein Deutschlands +(Gasmotorenkraftwerk mit 80 MWel und 80 MWth in Planung, weiterhin wird ein Gasmotorenkraftwerk mit 50 MWel und 50 MWth am Standort Altchemnitz geplant, Inbetriebnahme für 2022 vorgesehen)",Stadtwerke Chemnitz,"!550.8577815512.923831550° 51′ 28,0″ N, 012° 55′ 25,8″ O50.85778055555612.923830555556" +Kraftwerk Clauen,ca. 20,?,"Erdgas, Biogas",Hohenhameln,Niedersachsen Niedersachsen,2003,,"16 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik","Nordzucker AG, Werk Clauen", +Heizkraftwerk Cottbus,82,120 (davon 90 aus KWK; 300 MWh Wärmespeicher im Bau),Braunkohle,Cottbus,Brandenburg Brandenburg,1999,2022!(2022),"74 MW (Netto) +weltweit erstes Braunkohlekraftwerk mit Druckwirbelschichtverbrennung +(Umstellung auf Erdgas im Bau, dazu Erweiterung um ein Gasmotorenkraftwerk mit 50 MWel und 50 MWth)",HKW Heizkraftwerksgesellschaft Cottbus mbH,"!551.7609125514.370271551° 45′ 39,3″ N, 014° 22′ 13,0″ O51.76091214.370271" +GTKW Darmstadt,95,0,Erdgas,Darmstadt,Hessen Hessen,2013,0!2013 (Netzreserve),"95 MW (Netto) +zwei GT",Entega AG,"49° 53' 8.502"" N, 008° 38' 57.383"" O" +Heizkraftwerk Darmstadt,11,?,Erdgas,Darmstadt,Hessen Hessen,1999,,10 MW (Netto),Merck KGaA, +Kraftwerk Datteln,1100!1100,380!380,Steinkohle,Datteln,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 1964 +Block 2: 1965 +Block 3: 1969 +Block 4: 30. Mai 2020","0!Block 1: 2014 +Block 2: 2014 +Block 3: 2014 +(Block 4: 2038 spätestens)","Block 1: 95 MW (Netto) +Block 2: 95 MW (Netto) +Block 3: 113 MW (Netto) +Block 4: 1052 MW (Netto), davon 413 MW Bahnstrom",Uniper Kraftwerke GmbH,"!551.6300445507.331314551° 37′ 48,2″ N, 007° 19′ 52,7″ O51.6300444444447.3313138888889" +Kraftwerk Dessau,51,"ca. 200 +(600 MWh Wärmespeicher)",Erdgas,Dessau-Roßlau,Sachsen-Anhalt Sachsen-Anhalt,"Braunkohleblock: 1996 +Erdgasblock: 1996 +GT: 2019",Braunkohleblock: 2019,"Braunkohleblock: 12 MW (Netto) +Erdgasblock: 37 MW (Netto) +GT: ca. 12 MW (Netto)",Dessauer Versorgungs- und Verkehrsgesellschaft mbH – DVV – Stadtwerke, +Industriekraftwerk Deuben,86,100,Braunkohle,Deuben,Sachsen-Anhalt Sachsen-Anhalt,1936/1993/1996,Vermarktungsverbot ab 01.12.2021 gemäß KVBG,"67 MW (Netto) +KWK-Anlage im Verbund mit einer Staub- und Brikettfabrik",Mitteldeutsche Braunkohlengesellschaft mbH,"51° 6' 42.271"" N, 012° 4' 35.702"" O" +Gichtgaskraftwerk Dillingen,90,"ca. 25 +(1000 MWh Wärmespeicher)",Gichtgas,Dillingen,Saarland Saarland,2010,,"85 MW (Netto) +Eigenstrom- und Dampfversorgung für das örtliche Stahlwerk; Wärme-auskopplung zur Fernwärme-versorgung der Stadt","Aktien-Gesellschaft der Dillinger Hüttenwerke, ROGESA Roheisengesellschaft Saar mbH und Zentralkokerei Saar GmbH", +Kraft-Wärme-Kopplungsanlage Dingolfing,ca. 20,?,Erdgas,Dingolfing,Bayern Bayern,"GT 1: 1997 +GT 2: 1997 +BA 1: 2017","GT 1: 2017 +GT 2: 2017","GT 1: 7 MW (Netto) +GT 2: 7 MW (Netto) +BA 1: 16 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen PKW-Fabrik",BMW AG, +Kraftwerk Dormagen,597,480,"Erdgas, Heizöl",Dormagen,Nordrhein-Westfalen Nordrhein-Westfalen,GuD: 2000,0!,"GuD: 586 MW (Netto) +Eigenstrom- und Dampfversorgung für den Chempark Dormagen",RWE Generation SE,"!551.0666675506.833333551° 04′ 00,0″ N, 006° 50′ 00,0″ O51.0666666666676.8333333333333" +Heizkraftwerk Dortmund,27,170,Erdgas,Dortmund,Nordrhein-Westfalen Nordrhein-Westfalen,2004/14,0!(voraussichtlich 2022),26 MW (Netto),RWE Generation SE,"!551.5701065507.528050551° 34′ 12,4″ N, 007° 31′ 41,0″ O51.5701055555567.52805" +Industriekraftwerk Dortmund,ca. 17,?,Restgase aus der Rußproduktion,Dortmund,Nordrhein-Westfalen Nordrhein-Westfalen,1984/89,,"16 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Rußfabrik",Deutsche Gasrußwerke GmbH & Co. KG, +Industriekraftwerk Dotternhausen,ca. 12,0,Ölschiefer,Dotternhausen,Baden-Württemberg Baden-Württemberg,2007,,"10 MW (Netto) +Eigenstromversorgung für das örtliche Zementwerk, Verbrennungsrückstand wird als Ausgangsstoff für Zement verwendet",Holcim (Süddeutschland) GmbH, +Heizkraftwerk Dresden Nord,12,70,"Erdgas +Heizöl",Dresden,Sachsen Sachsen,1918/93/95/2018,,10 MW (Netto),Stadtwerke Dresden GmbH, +Heizkraftwerk Dresden Nossener Brücke,270,480,"Erdgas +Heizöl",Dresden,Sachsen Sachsen,1995,0!,"260 MW (Netto) +GuD-Kraftwerk",Stadtwerke Dresden GmbH,"!551.0417975513.708222551° 02′ 30,5″ N, 013° 42′ 29,6″ O51.04179722222213.708222222222" +Heizkraftwerk Dresden-Reick,2,"266 +(460 MWh Wärmespeicher)","Erdgas +Heizöl",Dresden,Sachsen Sachsen,1976/92/96/2005,0!,"2 MW (Netto) +Bau eines Gasmotorenkraftwerkes mit 90 MWel und 80 MWth geplant",Stadtwerke Dresden GmbH, +GuD-Anlage Drewsen,17,?,Erdgas,Lachendorf,Niedersachsen Niedersachsen,2000,,"13 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Drewsen Spezialpapiere GmbH & Co. KG, +Heizkraftwerk Duisburg-Hamborn,412,150,Kuppelgase aus der Stahlerzeugung,Duisburg-Hamborn,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 1952 +Block 2: 1952 +Block 3: 1958 +Block 4: 1976 +Block 5: 2003",,"Block 1: ca. 27 MW (Netto) +Block 2: ca. 27 MW (Netto) +Block 3: 59 MW (Netto) +Block 4: 101 MW (Netto) +Block 5: 225 MW (Netto) +Eigenstrom- und Dampfversorgung für das ThyssenKrupp-Stahlwerk Schwelgern",ThyssenKrupp Steel Europe AG, +Heizkraftwerk Sachtleben (Heizkraftwerk Duisburg-Homberg),30,?,Braunkohle,Duisburg-Homberg,Nordrhein-Westfalen Nordrhein-Westfalen,1964,Block 1: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG0!(2038 spätestens),"28 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Pigmentfabrik",Venator Germany GmbH,"51°26' 18,4"" N, 006°41' 53,2"" O" +Kraftwerk Duisburg-Walsum,1200,"150 +(295 möglich)",Steinkohle,Duisburg-Walsum,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 6: 1957 +Block 7: 1959 +Block 8: 1960 +Block 9: 1988 +Block 10: 2013","0!Block 6: 1988 +Block 7: 2014 +Block 8: 1988 +Block 9: Vermarktungsverbot ab 01.01.2021 gemäß KVBG","Block 6: 60 MW (Netto) +Block 7: 129 MW (Netto) +Block 8: 129 MW (Netto) +Block 9: 370 MW (Netto) +Block 10: 725 MW (Netto)","Block 9: Steag GmbH +Block 10: STEAG-EVN Walsum Kraftwerksgesellschaft mbH","!551.5285585506.714594551° 31′ 42,8″ N, 006° 42′ 52,5″ O51.5285583333336.7145944444444" +Heizkraftwerk Duisburg-Wanheim,286,255 (1450 MWh Wärmespeicher),"Erdgas +Heizöl",Duisburg-Wanheim,Nordrhein-Westfalen Nordrhein-Westfalen,"Block III A: 2002 +Block III B: 2005",0!,"Block III A: 40 MW (Netto) +Block III B: 234 MW (Netto)",Stadtwerke Duisburg AG, +Industriekraftwerk Duisburg,ca. 22,?,"Gichtgas +Erdgas",Duisburg,Nordrhein-Westfalen Nordrhein-Westfalen,2010,,"21 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Recyclinganlage für eisenhaltige Reststoffe",DK Recycling und Roheisen GmbH, +Industriekraftwerk Düren (KANZAN Spezialpapiere),1,?,Braunkohle,Düren,Nordrhein-Westfalen Nordrhein-Westfalen,2010,(2038 spätestens),"0!? MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapierfabrik",KANZAN Spezialpapiere GmbH; Getec AG, +Industriekraftwerk Düren (Metsä Tissue),14,?,Erdgas,Düren,Nordrhein-Westfalen Nordrhein-Westfalen,1940,,"14 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapierfabrik",Metsä Tissue GmbH (Werk Düren), +Industriekraftwerk Düren (Schoellershammer),10,?,"Braunkohle +Reste aus der Papierproduktion",Düren,Nordrhein-Westfalen Nordrhein-Westfalen,1983,(2038 spätestens),"9 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Kartonfabrik",Papierfabrik Schoellershammer H. A. Schoeller Söhne GmbH, +Blockheizkraftwerk H.120 Düsseldorf,ca. 22,?,Erdgas,Düsseldorf,Nordrhein-Westfalen Nordrhein-Westfalen,2012/14,,"21 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Daimler-Werkes",Daimler AG, +Industriekraftwerk Düsseldorf-Holthausen,89,?,"Erdgas +Reste aus der Produktion",Düsseldorf,Nordrhein-Westfalen Nordrhein-Westfalen,1948/2016,,"84 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Konsumgüter-Fabrik",Henkel AG & Co. KGaA, +Gasturbinen-Kraftwerk Düsseldorf-Flingern,ca. 86,0,Heizöl,Düsseldorf,Nordrhein-Westfalen Nordrhein-Westfalen,1972,,86 MW (Netto),Stadtwerke Düsseldorf AG, +Kombinationskraftwerk Eilenburg,ca. 50,ca. 40,"Erdgas +Reste aus Papierherstellung",Eilenburg,Sachsen Sachsen,1993,,"47 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Stora Enso Sachsen GmbH, +Kraftwerk Eisenhüttenstadt,116,80,Konvertergas,Eisenhüttenstadt,Brandenburg Brandenburg,"Block ?: 1954/1998 +Block 7: 2013 +(Block 8: 2021)",0!,"Block ?: 45 MW (Netto) +Block 7: 56 MW (Netto) +Block 8: ? +Eigenstrom- und Dampfversorgung für das örtliche Stahlwerk; Wärme-auskopplung zur Fernwärme-versorgung der Stadt",ArcelorMittal Eisenhüttenstadt GmbH, +Industriekraftwerk Elsdorf,13,?,Braunkohle,Elsdorf (Rheinland),Nordrhein-Westfalen Nordrhein-Westfalen,2000,0!(2038 spätestens),"? MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Pfeifer & Langen GmbH & Co. KG,"50° 55' 54.7"" N, 006° 33' 49.0"" O" +Heizkraftwerk Eltmann,ca. 60,?,Erdgas,Eltmann,Bayern Bayern,2007,0!,"57 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Palm Power GmbH & Co. KG,"49° 59' 5.071"" N, 010° 39' 6.916"" O" +Kraftwerk Emden,472 (davon 450 Erdgas und 22 Biomasse),30,"Erdgas: GT und DT +Biomasse: Block 5",Emden,Niedersachsen Niedersachsen,"GT: 1973 +DT: 1973 +Block 5: 2005","0!GT: 2020 (Kapazitätsreserve) +DT: von 2001 bis 2006 und seit 2012 (Kaltreserve)","GT: 50 (52) MW (Netto) +DT: 380 (433) MW (Netto) +Block 5: 20 (22) MW (Netto) +je nach Quelle unterschiedliche Leistungsangaben",Statkraft Markets GmbH,"!553.3414725507.206306553° 20′ 29,3″ N, 007° 12′ 22,7″ O53.3414722222227.2063055555556" +Heizkraftwerk Erfurt-Iderhoffstraße,ca. 12,? (250 MWh Wärmespeicher),Erdgas,Erfurt,Thüringen Thüringen,1996,,11 MW (Netto),Stadtwerke Erfurt Energie GmbH, +Kraftwerk Erfurt-Ost,115,283 (davon 173 aus KWK),Erdgas,Erfurt,Thüringen Thüringen,"GuD 1: 1999 +GuD 2: 2014",0!,"GuD 1: 77 MW (Netto) +GuD 2: 33 MW (Netto)",Stadtwerke Erfurt Energie GmbH, +Blockheizkraftwerk Erkrath am Klinkerweg,11,11 (ca. 27 MWh Wärmespeicher),Erdgas,Erkrath,Nordrhein-Westfalen Nordrhein-Westfalen,2000,,10 MW (Netto),Stadtwerke Erkrath GmbH, +Heizkraftwerk Erlangen,48 (davon 18 Steinkohle und 30 Erdgas),208,"Steinkohle: K6 DT2 +Erdgas: GuD 1, GuD 2 +Heizöl: K6 DT2",Erlangen,Bayern Bayern,"K6 DT2: 1982 +GuD 1: 2005 +GuD 2: 2014",2021!(K6 GT2: 2021),"K6 GT2: 17 MW (Netto) +GuD 1: 22 MW (Netto) +GuD 2: 7 MW (Netto)",Erlanger Stadtwerke AG,"!549.5937505510.999972549° 35′ 37,5″ N, 010° 59′ 59,9″ O49.5937510.999972222222" +Industriekraftwerk Euskirchen,ca. 18,?,Braunkohle,Euskirchen,Nordrhein-Westfalen Nordrhein-Westfalen,1998,0!Vermarktungsverbot ab 22.05.2023 gemäß KVBG,"15 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Pfeifer & Langen GmbH & Co. KG,"50° 39' 26.9"" N, 006° 48' 36.9"" O" +Heizkraftwerk Flensburg,185 (davon 105 Steinkohle und 80 Erdgas),291 (1100 MWh Wärmespeicher),"Steinkohle: K9, K10, K11 +Erdgas: K5/T7, K12, K13 +EBS (Müll): K9, K10, K11 +Biomasse: K9, K10, K11",Flensburg,Schleswig-Holstein Schleswig-Holstein,"K5/T7: 1974/2016 +K7: 1978 +K8: 1982 +K9: 1985 +K10: 1988 +K11: 1992 +K12: 2016 +(K13: 2022)","K7: 2016 +K8: 2016 +(K9: voraussichtlich 2022) +(K10: voraussichtlich 2022)","K5/T7: 29 MW (Netto) +K7: 23 MW (Netto) +K8: 35 MW (Netto) +K9: 33 MW (Netto) +K10: 33 MW (Netto) +K11: 33 MW (Netto) +K12 (GuD): 78 MW (Netto) + + +K13: bis 2022 Neubau eines erdgasbetriebenen GuDs mit 70 MWel und 70 MWth, danach Stilllegung von zwei Kohlekesseln",Stadtwerke Flensburg GmbH,"!554.8038065509.433167554° 48′ 13,7″ N, 009° 25′ 59,4″ O54.8038055555569.4331666666667" +Industriekraftwerk Fortuna Nord,ca. 20,?,Braunkohle,Bergheim,Nordrhein-Westfalen Nordrhein-Westfalen,1939/1973,(2038 spätestens),"15 MW (Netto) +Eingestrom- und Dampfversorgung des Kohleveredlungsbetriebes Fortuna-Nord",RWE Power AG, +Kraftwerk Franken I,843,30,"Heizöl +Erdgas",Nürnberg,Bayern Bayern,"Block 1: 1973 +Block 2: 1976",0!,"Block 1: 383 MW (Netto) +Block 2: 440 MW (Netto) +(davon insgesamt 60 MW Bahnstrom)",Uniper Kraftwerke GmbH,"!549.4208005511.007678549° 25′ 14,9″ N, 011° 00′ 27,6″ O49.420811.007677777778" +Heizkraftwerk Frankfurt (Oder),49 (davon 25 Erdgas und 24 Braunkohle),"80 +(ca. 300 MWh Wärmespeicher im Bau)",Braunkohle,Frankfurt (Oder),Brandenburg Brandenburg,"VGT: 1997 +DT: 1997",2022!(2022),"VGT: 25 MW (Netto) +DT: 23 MW (Netto) +(Gasmotorenkraftwerk mit 50 MWel und ca. 50 MWth im Bau)",Stadtwerke Frankfurt (Oder) GmbH,"52° 19' 6.222""N, 014° 31' 52.928"" O" +Heizkraftwerk Frankfurt-Allerheiligenstraße,4,58 (davon 4 aus KWK),Erdgas,Frankfurt am Main,Hessen Hessen,1953,,4 MW (Netto),Mainova AG, +Heizkraftwerk Frankfurt-Messe,5,112 (davon 5 aus KWK),Erdgas,Frankfurt am Main,Hessen Hessen,1987,,5 MW (Netto),Mainova AG, +Heizkraftwerk Niederrad,ca. 75,235,Erdgas,Frankfurt am Main,Hessen Hessen,"Block 1: 2004 +Block 2: 1973",Block 2: 2017,"Block 1: 70 MW (Netto) +Block 2: 56 MW (Netto)",Mainova AG,"50° 5' 55.028"" N, 008° 39' 17.95"" O" +Heizkraftwerk Frankfurt-West,284 (davon 144 Steinkohle und 140 Erdgas),430,"Steinkohle: Blöcke 2, 3 +Erdgas: Blöcke 4, M4, M5",Frankfurt am Main,Hessen Hessen,"Block 2: 1988 +Block 3: 1989 +Block 4: 1994 +Block M4: 1994? +Block M5: 2018","2030!(Block 2: um 2025) +(Block 3: um 2025) +Block M4: 2016","Block 2: 62 MW (Netto) +Block 3: 62 MW (Netto) +Block 4: 99 MW (Netto) +Block M4: 20 MW (Netto) +Block M5: 39 MW (Netto)",Mainova AG,"!550.0983335508.653361550° 05′ 54,0″ N, 008° 39′ 12,1″ O50.0983333333338.6533611111111" +Industriekraftwerk Frankfurt-Fechenheim,20,?,Braunkohle,Frankfurt am Main,Hessen Hessen,2011,0!(2038 spätestens),"? MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark",AlessaChemie GmbH; Getec AG, +Industriekraftwerk Frankfurt-Griesheim,20,?,Braunkohle,Frankfurt am Main,Hessen Hessen,2016,0!2019? (die örtlichen Chemiebetriebe haben 2019 die Produktion eingestellt),Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark,WeylChem Griesheim GmbH; Getec AG, +Industriekraftwerk Frechen/Wachtberg,201,251,Braunkohle,Frechen,Nordrhein-Westfalen Nordrhein-Westfalen,1959/1988,"(31.12.20220! Brikettierung +(120 von 176 MW))","176 MW (Netto) +Eigenstrom- und Dampfversorgung für den Kohleveredlungsbetrieb Frechen",RWE Power AG, +Heizkraftwerk Freiberg,14,ca. 75 (davon 18 aus KWK; 140 MWh Wärmespeicher),Erdgas,Freiberg,Sachsen Sachsen,2013,,13 MW (Netto),Stadtwerke Freiberg AG, +Wärmeverbundkraftwerk Freiburg,60,?,Erdgas,Freiburg im Breisgau,Baden-Württemberg Baden-Württemberg,1998,0!2015 (Netzreserve),40 MW (Netto),Rhodia Acetow GmbH,"48° 1' 14.887"" N, 007° 50' 45.823"" O" +Heizkraftwerk Universitätsklinik Freiburg,30,? (ca. 50 MWh Wärmespeicher),"Erdgas +Biomasse (Holzpellets)",Freiburg im Breisgau,Baden-Württemberg Baden-Württemberg,2001,0!,27 MW (Netto),Universitätsklinikum Freiberg AdöR, +Kraftwerk Frimmersdorf,635,30,"Braunkohle, +Papierschlamm",Grevenbroich-Frimmersdorf,Nordrhein-Westfalen Nordrhein-Westfalen,"Block A: 1955 +Block B: 1955 +Block C: 1957 +Block D: 1957 +Block E: 1959 +Block F: 1960 +Block G: 1960 +Block H: 1961 +Block I: 1960 +Block K: 1962 +Block L: 1962 +Block M: 1962 +Block N: 1964 +Block O: 1964 +Block P: 1966/90 +Block Q: 1970/90","2021! +Block A: 1988 + +Block B: 1988 + +Block C: 2011 + +Block D: 2011 + +Block E: 2012 + +Block F: 2012 + +Block G: 2011 + +Block H: 2005 + +Block I: 2012 + +Block K: 2012 + +Block L: 2012 + +Block M: 2012 + +Block N: 2012 + +Block O: 2012 + +(Block P: 2017/2021 (Sicherheitsbereitschaft)) + +(Block Q: 2017/2021 (Sicherheitsbereitschaft))","Block A: 90 MW (Netto) +Block B: 90 MW (Netto) +Block C: 129 MW (Netto) +Block D: 130 MW (Netto) +Block E: 130 MW (Netto) +Block F: 132 MW (Netto) +Block G: 124 MW (Netto) +Block H: 130 MW (Netto) +Block I: 128 MW (Netto) +Block K: 136 MW (Netto) +Block L: 131 MW (Netto) +Block M: 138 MW (Netto) +Block N: 135 MW (Netto) +Block O: 133 MW (Netto) +Block P: 284 MW (Netto) +Block Q: 278 MW (Netto)",RWE Power AG,"!551.0544975506.575919551° 03′ 16,2″ N, 006° 34′ 33,3″ O51.0544972222226.5759194444444" +Kraftwerk Fulda,28,0,Mineralölprodukte,Fulda,Hessen Hessen,2011,,25 MW (Netto),RhönEnergie Fulda GmbH, +Industriekraftwerk Fulda,ca. 35,?,Erdgas,Fulda,Hessen Hessen,"Block 2: 1982 +Block 3: 2012",,"Block 2: 8 MW (Netto) +Block 3: 26 MW (Netto) +Eigenstrom- und Dampfversorgung für Papierfabrik",Papierfabrik Adolf Jass GmbH & Co. KG, +Industriekraftwerk Gendorf,ca. 75,?,Erdgas,Burgkirchen,Bayern Bayern,2002/17,,"73 MW (Netto) +Eigenstrom- und Dampfversorgung für Chemiepark Gendorf",InfraServ GmbH & Co. Gendorf KG, +Heizkraftwerk Gera-Lusan (ehemals Heizkraftwerk Gera-Nord),18,63 (davon 18 aus KWK),Erdgas,Gera,Thüringen Thüringen,"GuD 1: 1996 +GuD 2: 1996 +HKW Lusan: 2018","GuD 1: 2018 +GuD 2: 2018 +HKW Lusan:","GuD 1: 37 MW (Netto) +GuD 2: 37 MW (Netto) +HKW Lusan: 17 MW (Netto)",Kraftwerke Gera GmbH,"!550.9069445512.061111550° 54′ 25,0″ N, 012° 03′ 40,0″ O50.90694444444412.061111111111" +Heizkraftwerk Gera-Tinz,23,83 (davon 23 aus KWK),Erdgas,Gera,Thüringen Thüringen,HKW Tinz: 2018,HKW Tinz:,HKW Tinz: 22 MW (Netto),Kraftwerke Gera GmbH, +Industriekraftwerk Goldenberg,47,?,"Braunkohle +Klärschlamm",Hürth,Nordrhein-Westfalen Nordrhein-Westfalen,"Block E: 1992 +Block F: 1993","Block E: 2015 (Kaltreserve) +Block F: 2015","Block E: 40 MW (Netto) +Block F: 45 MW (Netto) +im Moment nur noch Dampfversorgung für den Kohleveredlungsbetrieb Ville/Berrenrath",RWE Power AG, +Heizkraftwerk Göttingen,22 (65),?,"Heizöl +Erdgas",Göttingen,Niedersachsen Niedersachsen,1967/1998,0!,"19 (60) MW (Netto) +je nach Quelle unterschiedliche Leistungsangaben; +z. T. im Inselbetrieb",Georg-August-Universität Göttingen Stiftung des öffentlichen Rechts,"!551.5536945509.934250551° 33′ 13,3″ N, 009° 56′ 03,3″ O51.5536944444449.93425" +Blockheizkraftwerk Universitätsklinik Göttingen,5,5,Erdgas,Göttingen,Niedersachsen Niedersachsen,2018,,5 MW (Netto),Georg-August-Universität Göttingen Stiftung des öffentlichen Rechts, +Industriekraftwerk Greifswald,39,47,Erdgas,Lubmin,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,2013,,"38 MW (Netto) +Abwärmenutzung zum Aufheizen von Erdgas aus der Northstream-Pipeline",Industriekraftwerk Greifswald GmbH, +Kraftwerk Grenzach-Wyhlen,ca. 30,?,Erdgas,Grenzach-Wyhlen,Baden-Württemberg Baden-Württemberg,2017,,"30 MW (Netto) +Eigenstrom- und Dampfversorgung für die örtliche Pharmaproduktion",KGW – Kraftwerk Grenzach-Wyhlen GmbH, +Industriekraftwerk Großenkneten,ca. 33,ca. 30,Erdgas,Großenkneten,Niedersachsen Niedersachsen,2014,,"30 MW (Netto) +Eigenstrom- und Dampfversorgung für Erdgasaufbereitung",Exxon Mobil Production Deutschland GmbH, +Spitzenlastkraftwerk Großkayna,129,0,Heizöl,Großkayna,Sachsen-Anhalt Sachsen-Anhalt,1994,0!,120 MW (Netto),envia THERM GmbH, +Kraftwerk Staudinger,1191 (davon 553 Kohle und 638 Erdgas),300 (ca. 105 MWh Wärmespeicher),"Steinkohle: Blöcke 1, 2, 3, 5 + +Erdgas: Block 4",Großkrotzenburg,Hessen Hessen,"Block 1: 1965 +Block 2: 1965 +Block 3: 1970 +Block 4: 1977 +Block 5: 1992","2019! +Block 1: 2012/2013 +Block 2: 2012 +Block 3: 2012 +Block 4: 2015 (Netzreserve) +Block 5: Vermarktungsverbot ab 22.05.2023 gemäß KVBG","Block 1: 249 MW (Netto) +Block 2: 249 MW (Netto) +Block 3: 293 MW (Netto) +Block 4: 572 MW (Netto) +Block 5: 510 MW (Netto)",Uniper Kraftwerke GmbH,"!550.0882675508.951658550° 05′ 17,8″ N, 008° 57′ 06,0″ O50.0882666666678.9516583333333" +Heizkraftwerk Hagen-Kabel,ca. 275 (davon 251 Erdgas und ca. 24 Biomasse),108,"Block H4/5: Erdgas +BVA: Biomasse",Hagen,Nordrhein-Westfalen Nordrhein-Westfalen,"H4/5: 1981/2004 +BVA: 2004",H4/5: 2016 (Kaltreserve),"H4/5: 230 MW (Netto) +BVA: 20 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Mark-E AG,"!551.4109995507.491455551° 24′ 39,6″ N, 007° 29′ 29,2″ O51.4109997.491455" +Industriekraftwerk Hainsberg,1,5,Braunkohle,Hainsberg (Freital),Sachsen Sachsen,2011,0!(2038 spätestens),"? MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Papierfabrik Hainsberg GmbH; Getec AG, +Heizkraftwerk Halle Dieselstraße,100,120 (davon 68 aus KWK; 280 MWh Wärmespeicher und ca. 2000 MWh Wärmespeicher),Erdgas,Halle,Sachsen-Anhalt Sachsen-Anhalt,"GuD A: 2005 +GuD B: 2005",,"GuD A: 47 MW (Netto) +GuD B: 47 MW (Netto) +(GT C in Planung)",Energieversorgung Halle GmbH (EVH), +Heizkraftwerk Halle-Trotha,58,50,Erdgas,Halle,Sachsen-Anhalt Sachsen-Anhalt,GuD: 2012/2013,,GuD: 56 MW (Netto),Energieversorgung Halle GmbH (EVH), +Heizkraftwerk Hamburg,ca. 25,?,"Erdgas +Biogas",Hamburg-Mitte,Hamburg Hamburg,1993,,"23 MW (Netto) +Eigenstrom- und Dampfversorgung für Ölmühle und Biodieselproduktion",ADM Hamburg AG, +Kohlekraftwerk Hamburg-Moorburg,1654,240 (650 möglich),Steinkohle,Hamburg-Moorburg,Hamburg Hamburg,"Block A: 2015 +Block B: 2015","Block A: Vermarktungsverbot ab 01.01.2021 gemäß KVBG +Block B: Vermarktungsverbot ab 01.01.2021 gemäß KVBG","Block A: 800 MW (Netto) +Block B: 800 MW (Netto) +Umrüstung auf Gas geplant",Vattenfall Heizkraftwerk Moorburg GmbH,"!553.4881945509.949361553° 29′ 17,5″ N, 009° 56′ 57,7″ O53.4881944444449.9493611111111" +Kraftwerk Westfalen,820,0,Steinkohle,Hamm-Schmehausen,Nordrhein-Westfalen Nordrhein-Westfalen,"Block A: 1963 +Block B: 1963 +Block C: 1969 +Block D: nicht fertiggestellt +Block E: 2014","0!Block A: 2014 +Block B: 2014 +Block C: 2016 +Block D: 2015 +Block E: 2021","Block A: 152 MW (Netto) +Block B: 152 MW (Netto) +Block C: 284 MW (Netto) +Block D: 765 MW (Netto) +Block E: 764 MW (Netto)",RWE Generation SE,"!551.6803065507.970194551° 40′ 49,1″ N, 007° 58′ 12,7″ O51.6803055555567.9701944444444" +Trianel GuD-Kraftwerk Hamm-Uentrop,850,0,Erdgas,Hamm-Schmehausen,Nordrhein-Westfalen Nordrhein-Westfalen,"GuD 10: 2008 +GuD 20: 2008",0!,"GuD 10: 417 MW (Netto) +GuD 20: 421 MW (Netto)",Trianel Gaskraftwerk Hamm GmbH & Co. KG,"!551.6738895507.929167551° 40′ 26,0″ N, 007° 55′ 45,0″ O51.6738888888897.9291666666667" +Kraftwerk Hürth-Knapsack,1262,0,Erdgas,Hürth-Knapsack,Nordrhein-Westfalen Nordrhein-Westfalen,"GuD I: 2006 +GuD II: 2013",0!,"GuD I: 800 MW (Netto) +GuD II: 430 MW (Netto)",Statkraft Markets GmbH,"N50° 51' 38.617 N, E6° 50' 13.736""" +Kraftwerk Hannover-Herrenhausen,120,280 (davon 140 aus KWK),Erdgas,Hannover-Herrenhausen,Niedersachsen Niedersachsen,1975,0!2016 (Kaltreserve),"102 MW (Netto) +im Moment nur noch Fernwärmeerzeugung und Steuerung diverser dezentraler Anlagen als virtuelles Kraftwerk",enercity AG,"!552.3986115509.680556552° 23′ 55,0″ N, 009° 40′ 50,0″ O52.3986111111119.6805555555556" +Gasturbinenkraftwerk Hannover-Linden,255,185,Erdgas,Hannover-Linden-Nord,Niedersachsen Niedersachsen,1962/1998/2013,0!,230 MW (Netto),enercity AG,"!552.3729175509.714194552° 22′ 22,5″ N, 009° 42′ 51,1″ O52.3729166666679.7141944444444" +"Kohlekraftwerk Hannover-Stöcken +(Gemeinschaftskraftwerk Hannover)",300,425,Steinkohle,Hannover-Stöcken,Niedersachsen Niedersachsen,"Block 1: 1989 +Block 2: 1989",,"Block 1: 136 MW (Netto) +Block 2: 136 MW (Netto)","enercity AG / +Volkswagen Kraftwerke GmbH","!552.4202785509.647508552° 25′ 13,0″ N, 009° 38′ 51,0″ O52.4202777777789.6475083333333" +Kraftwerk Hattorf,ca. 55,> 60,Erdgas,Philippsthal,Hessen Hessen,"Block 1: 2013 +Block 2: 2013",,"Block 1: 35 MW (Netto) +Block 2: 17 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Kalibergbau",K+S AG, +Kraftwerk Hausham,112,25,"Steinkohle: Kohleblock +Heizöl: GT 1, GT 2, GT 3, GT 4, Motor-HKW 1, Motor-HKW 2",Hausham,Bayern Bayern,"Kohleblock: 1963 +GT 1: 1982 +GT 2: 1982 +GT 3: 1982 +GT 4: 1982 +Motor-HKW 1: 1987 +Motor-HKW 2: 1990",0!Kohleblock: 1983,"Kohleblock: 37 MW (Netto) +GT 1: 32 MW (Netto) +GT 2: 32 MW (Netto) +GT 3: 32 MW (Netto) +GT 4: 32 MW (Netto) +Motor-HKW 1: 6 MW (Netto) +Motor-HKW 2: 6 MW (Netto)",Peißenberger Kraftwerksgesellschaft mbH, +Raffineriekraftwerk Heide,47,?,"Erdgas +Mineralölprodukte Raffineriegas",Hemmingstedt,Schleswig-Holstein Schleswig-Holstein,1962,,"45 MW (Netto) +Eigenstrom- und Dampfversorgung der Raffinerie Heide",Raffinerie Heide GmbH, +Heizkraftwerk Heidelberg,ca. 15,? (ca. 700 MWh Wärmespeicher im Bau),Erdgas,Heidelberg,Baden-Württemberg Baden-Württemberg,2001,,14 MW (Netto),innogy SE, +Industriekraftwerk Heidenheim,ca. 20,?,"Erdgas +Heizöl",Heidenheim,Baden-Württemberg Baden-Württemberg,2014,,19 MW (Netto),Sales & Solutions GmbH, +Heizkraftwerk Heilbronn,1066,390,"Steinkohle +Klärschlamm",Heilbronn,Baden-Württemberg Baden-Württemberg,"Block 1: 1950-60 +Block 2: 1950-60 +Block 3: 1950-60 +Block 4: 1950-60 +Block 5: 1965/2010 +Block 6: 1966/2010 +Block 7: 1985/2009","2019!Block 1: 1988 +Block 2: 1988 + +Block 3: 2006 + +Block 4: 2006 + +Block 5: 2014 (Netzreserve) + +Block 6: 2014 (Netzreserve)","Block 1: ca. 50 MW (Netto) +Block 2: ca. 50 MW (Netto) +Block 3: ca. 100 MW (Netto) +Block 4: ca. 100 MW (Netto) +Block 5: 125 MW (Netto) +Block 6: 125 MW (Netto) +Block 7: 778 MW (Netto)",EnBW Energie Baden-Württemberg AG,"!549.1755315509.207553549° 10′ 31,9″ N, 009° 12′ 27,2″ O49.1755305555569.2075527777778" +Industriekraftwerk Herzberg,ca. 25,?,Erdgas,Herzberg,Niedersachsen Niedersachsen,1978,,"20 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Smurfit Kappa Herzberger Papierfabrik GmbH, +Heizkraftwerk Helmshänger Berg,15,125 (davon 28 KWK; ca. 90 MWh Wärmespeicher),Erdgas,Greifswald,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,1996,,14 MW (Netto),Stadtwerke Greifswald GmbH, +"Kraftwerk Duisburg-Ruhrort +(Kraftwerk Hermann Wenzel)",244,?,"Kuppelprodukte aus der Stahlerzeugung +Kokereigas +Gichtgas",Duisburg-Laar,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 1955 +Block 2: 1955 +Block 3: 1963 +Block 4: 1969",0!Block 1: 2001,"Block 1: ca. 55 MW (Netto) +Block 2: 60 MW (Netto) +Block 3: 95 MW (Netto) +Block 4: 170 MW (Netto) +Eigenstrom- und Dampfversorgung für das ThyssenKrupp-Stahlwerk Schwelgern",ThyssenKrupp Steel Europe AG,"!551.4596675506.730583551° 27′ 34,8″ N, 006° 43′ 50,1″ O51.4596666666676.7305833333333" +Cuno-Heizkraftwerk Herdecke (Cuno-Kraftwerk),424,0,Erdgas,Herdecke,Nordrhein-Westfalen Nordrhein-Westfalen,H6: 2007,0!,H6: 417 MW (Netto),"Mark-E AG +Statkraft Markets GmbH","!551.4030335507.414819551° 24′ 10,9″ N, 007° 24′ 53,3″ O51.4030337.414819" +Kraftwerk Wintershall,110,299,Erdgas,Heringen,Hessen Hessen,1970/2009,0!,"69 MW (Netto) +Nutzt auch Dampf von benachbarter Müllverbrennungsanlage",K+S AG, +Heizkraftwerk Herne,511,550,"Steinkohle: Blöcke 1, 2, 3, 4, 5 +Erdgas: Block 6",Herne,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 1962/63 +Block 2: 1962/63 +Block 3: 1966 +Block 4: 1989/2013 +Block 5: nicht realisiert +Block 6: 2022","Block 1: 2000 +Block 2: 2013 +Block 3: 2017 +(Block 4: voraussichtlich 2022)","Block 1: 133 MW (Netto) +Block 2: 133 MW (Netto) +Block 3: 280 MW (Netto) +Block 4: 449 MW (Netto) +Block 5: 800 MW (Netto) +Block 6: GuD-Block mit 608 MWel und 400 MWth",Steag GmbH,"!551.5506565507.187575551° 33′ 02,4″ N, 007° 11′ 15,3″ O51.5506555555567.187575" +Kraftwerk Heyden,923,0,Steinkohle,Petershagen,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 1951 +Block 2: 1960 +Block 3: 1961 +Block 4: 1987","0!Block 1: 1979 +Block 2: 1982 +Block 3: 1982 +Block 4: Vermarktungsverbot ab 01.01.2021 gemäß KVBG","Block 1: ca. 120 MW (Netto) +Block 2: ca. 100 MW (Netto) +Block 3: ca. 100 MW (Netto) +Block 4: 875 MW (Netto)",Uniper Kraftwerke GmbH,"!552.3816085508.998667552° 22′ 53,8″ N, 008° 59′ 55,2″ O52.3816083333338.9986666666667" +Heizkraftwerk Bochum-Hiltrop,ca. 45,? (ca. 150 MWh Wärmespeicher),Erdgas,Bochum-Hiltrop,Nordrhein-Westfalen Nordrhein-Westfalen,"GT: 1975 +GuD: 2013",0!GT: 2013,"GT: 31 MW (Netto) +GuD: 44 MW (Netto)",Stadtwerke Bochum Holding GmbH,"!551.5072225507.249722551° 30′ 26,0″ N, 007° 14′ 59,0″ O51.5072222222227.2497222222222" +Heizkraftwerk Industriepark Höchst,268 (davon 71 Steinkohle und 197 Erdgas),614,"Steinkohle: Block B +Erdgas: Block A, ADS-Anlage",Frankfurt am Main,Hessen Hessen,"Block A: 2003 +Block B: 1965/89 +ADS-Anlage: 2011/12",0!Block B: Vermarktungsverbot ab 01.01.2021 gemäß KVBG,"Block A (GT): 86 MW (Netto) +Block B: 66 MW (Netto) +ADS-Anlage (2 GT): 97 MW (Netto) +Abwärme der Gasturbinen wird zur Dampferzeugung für die Dampfturbine des Blocks B genutzt",Infraserv GmbH & Co. Höchst KG,"!550.0922225508.533333550° 05′ 32,0″ N, 008° 32′ 00,0″ O50.0922222222228.5333333333333" +Kraftwerk Duisburg-Huckingen,640,68,"Erdgas +Gichtgas +Hochofengas",Duisburg-Huckingen,Nordrhein-Westfalen Nordrhein-Westfalen,"Block A: 1975/2009 +Block B: 1976/2011",0!,"Block A: 303 MW (Netto) +Block B: 303 MW (Netto) +Eigenstrom- und Dampfversorgung für das örtliche Stahlwerk",Hüttenwerke Krupp-Mannesmann GmbH,"!551.3761395506.723861551° 22′ 34,1″ N, 006° 43′ 25,9″ O51.3761388888896.7238611111111" +Kraftwerk Huntorf,321,0,Erdgas,Elsfleth,Niedersachsen Niedersachsen,1978/2006,0!,"321 MW (Netto), Druckluftspeicher, Erdgas nur zur Kompensation der Expansionskälte",Uniper Kraftwerke GmbH, +Heizkraftwerk Ibbenbüren-Bocketal,1,?,Braunkohle,Ibbenbüren,Nordrhein-Westfalen Nordrhein-Westfalen,2008,(2038 spätestens),? MW (Netto),Urbana Fernwärme GmbH, +Kraftwerk Ibbenbüren,838,20,"Steinkohle +Tiermehl +Klärschlamm",Ibbenbüren,Nordrhein-Westfalen Nordrhein-Westfalen,"Block A: 1967 +Block B: 1985/2009","0! +Block A: 1987 +Block B: 2021","Block A: ca. 130 MW (Netto) +Block B: 794 MW (Netto) +größter Schmelzkammerkessel der Welt",RWE Generation SE,"!552.2858645507.745897552° 17′ 09,1″ N, 007° 44′ 45,2″ O52.2858638888897.7458972222222" +Ineos Kraftwerk Moers,ca. 25,?,"Erdgas, +Restgase aus der Produktion",Moers,Nordrhein-Westfalen Nordrhein-Westfalen,1995,,"24 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks",Ineos Solvents Germany GmbH, +Kraftwerk Ingolstadt,840,0,Schweröl,Großmehring,Bayern Bayern,"Block 1: 1965 +Block 2: 1965 +Block 3: 1973 +Block 4: 1974","2019!Block 1: 1990 +Block 2: 1990 +Block 3: 2014 (Netzreserve) +Block 4: 2014 (Netzreserve)","Block 1: 150 MW (Netto) +Block 2: 150 MW (Netto) +Block 3: 375 MW (Netto) +Block 4: 386 MW (Netto)",Uniper Kraftwerke GmbH,"!548.7620085511.503258548° 45′ 43,2″ N, 011° 30′ 11,7″ O48.76200833333311.503258333333" +Industriekraftwerk Ingolstadt,ca. 25,?,"Erdgas +Raffineriegas",Kösching,Bayern Bayern,2012,,"23 MW (Netto) +Eigenstrom- und Dampfversorgung der Erdölraffinerie Ingolstadt",Gunvor Raffinerie Ingolstadt GmbH, +Kraftwerk Irsching,1894 (davon 440 Heizöl und 1454 Erdgas),25,"Schweröl: Block 1, Block 2 +Heizöl: Block 3 +Erdgas: Block 4, Block 5",Vohburg,Bayern Bayern,"Block 1: 1969 +Block 2: 1972 +Block 3: 1974 +Block 4 (""Ulrich Hartmann""): 2011 +Block 5 (""Gemein-schaftskraftwerk Irsching""): 2010","0! +Block 1: 2006 +Block 2: 2012 +Block 3: 2015 (Netzreserve) +Block 4: (war von 2013 bis 2020 in Netzreserve) +Block 5: (war von 2013 bis 2020 in Netzreserve)","Block 1: ca. 150 MW (Netto) +Block 2: ca. 300 MW (Netto) +Block 3: 415 MW (Netto) +Block 4: 561 MW (Netto) +Block 5: 846 MW (Netto) +(Block 6: 300 MW Gasturbine als ""besonderes netztechnisches Betriebsmittel"" mit Inbetriebnahme für 2022 geplant)",Uniper Kraftwerke GmbH,"!548.7670335511.579219548° 46′ 01,3″ N, 011° 34′ 45,2″ O48.76703333333311.579219444444" +Kraftwerk Itzehoe,87,0,Mineralölprodukte,Oldendorf,Schleswig-Holstein Schleswig-Holstein,1972,,87 MW (Netto),Uniper Kraftwerke GmbH, +Kraftwerk Jänschwalde,3000,349 (458 möglich),Braunkohle,Teichland-Neuendorf,Brandenburg Brandenburg,"Block A: 1981/1996 +Block B: 1982/1996 +Block C: 1984/1996 +Block D: 1985/1996 +Block E: 1987/1996 +Block F: 1989/1996","2019!(Block A: 31. Dezember 2025 (Sicherheitsbereitschaft)) +(Block B: 31. Dezember 2027 (Sicherheitsbereitschaft)) +(Block C: 31. Dezember 2028 spätestens) + +(Block D: 31. Dezember 2028 spätestens) + +(Block E: 2018/2022 (Sicherheitsbereitschaft)) + +(Block F: 2019/2023 (Sicherheitsbereitschaft))","Block A: 465 MW (Netto) +Block B: 465 MW (Netto) +Block C: 465 MW (Netto) +Block D: 465 MW (Netto) +Block E: 465 MW (Netto) +Block F: 465 MW (Netto) + + +Platz 6 – mit ~15,2 Mio. Jahrestonnen CO2 – auf der Liste der Kraftwerke mit dem höchsten CO2-Ausstoß in der EU.",LEAG,"!551.8322425514.453025551° 49′ 56,1″ N, 014° 27′ 10,9″ O51.83224166666714.453025" +Heizkraftwerk Jena,204,"225 (ca. 400 MWh Wärmespeicher, +600 MWh Wärmespeicher im Bau)","Erdgas +Heizöl",Jena,Thüringen Thüringen,"HKW: 1969/1996 +(GM: 2022)",0!,"182 MW (Netto) +(Erweiterung um Gasmotorenkraftwerk mit 60 MWel und 60 MWth im Bau)",TEAG Thüringer Energie AG,"!550.8976475511.586806550° 53′ 51,5″ N, 011° 35′ 12,5″ O50.89764722222211.586805555556" +Industriekraftwerk Jülich,25,120,Braunkohle,Jülich,Nordrhein-Westfalen Nordrhein-Westfalen,2004/2013,0!Vermarktungsverbot ab 01.01.2021 gemäß KVBG,"23 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Pfeifer & Langen GmbH & Co. KG,"50° 54' 53.8"" N, 006° 22' 19.9"" O" +Heizkraftwerk Kaiserslautern-Karcherstraße,28 (davon 15 Steinkohle und 13 Erdgas),81 (ca. 90 MWh Wärmespeicher),"Erdgas: Block 10 +Steinkohle: Block 20",Kaiserslautern,Rheinland-Pfalz Rheinland-Pfalz,"Block 10: 1989 +Block 20: 1996",(Block 20: 2022),"Block 10: 12 MW (Netto) +Block 20: 13 MW (Netto) +Steinkohleblock wird durch GuDs ersetzt",Stadtwerke Kaiserslautern Versorgungs AG (SWK), +Industriekraftwerk Kalscheuren,ca. 28,? (300 MWh Wärmespeicher),Restgase aus der Rußproduktion,Köln,Nordrhein-Westfalen Nordrhein-Westfalen,1967/2018,,"27 MW (Netto) +Eigenstromversorgung der örtlichen Rußfabrik; +Abwärmenutzung für das Fernwärmenetz Hürth",Orion Engineered Carbons GmbH, +Industriekraftwerk Karlsruhe,ca. 75,> 90,"Erdgas, Mineralölprodukte",Karlsruhe,Baden-Württemberg Baden-Württemberg,"Werk 1: 1995 +Werk 2: 1995",,"Werk 1: 45 MW (Netto) +Werk 2: 25 MW (Netto) +Eigenstrom- und Dampfversorgung der MiRO-Raffinerie",MiRO Mineralölraffinerie Oberrhein GmbH & Co. KG, +Heizkraftwerk Karlsruhe-West,37,350 (davon 108 aus KWK),"Erdgas +Heizöl",Karlsruhe-Mühlburg,Baden-Württemberg Baden-Württemberg,Block T3: 1984,0!,Block T3: 33 MW (Netto),Stadtwerke Karlsruhe GmbH,"!549.0141615508.347656549° 00′ 51,0″ N, 008° 20′ 51,6″ O49.0141611111118.3476555555556" +Rheinhafen-Dampfkraftwerk Karlsruhe,2175 (davon 713 Erdgas und 1462 Steinkohle),440,"Steinkohle: Blöcke 1, 2, 3, 4, 7, 8 +Erdgas: Blöcke 4S, 5, 6",Karlsruhe,Baden-Württemberg Baden-Württemberg,"Block 1: 1955 +Block 2: nach 1955 +Block 3: nach 1955 +Block 4: nach 1955 +Block 4S: 1998 +Block 5: nach 1955 +Block 6: nach 1955 +Block 7: 1985/2005 +Block 8: 2014","0! +Block 1: 1985 +Block 2: 1985 +Block 3: 1985 +Block 4: 1985 +Block 4S: 2017 (Netzreserve) +Block 5: 1993 (Kaltreserve?) +Block 6: 1993 (Kaltreserve?)","Block 1: ? MW (Netto) +Block 2: ? MW (Netto) +Block 3: ? MW (Netto) +Block 4: ? MW (Netto) +Block 4S: 353 MW (Netto) +Block 5: ca. 160 MW (Netto) +Block 6: ca. 160 MW (Netto) +Block 7: 517 MW (Netto) +Block 8: 834 MW (Netto)",EnBW Energie Baden-Württemberg AG,"!549.0114535508.303961549° 00′ 41,2″ N, 008° 18′ 14,3″ O49.0114527777788.3039611111111" +Heizkraftwerk Kassel,91 (davon 38 Braunkohle und 53 Erdgas),155 (davon 135 aus KWK),"FKK: Braunkohle, Steinkohle, Petrolkoks und EBS biogenen Ursprungs +Kombi-HKW: Erdgas",Kassel,Hessen Hessen,"FKK: 1989 +Kombi-HKW: +GuD 1: 1988 +GuD 2: 2005",0!(FKK: 2030),"FKK: 34 MW (Netto) +Kombi-HKW +GuD 1: 14 MW (Netto) +GuD 2: 36 MW (Netto)",Städtische Werke Energie + Wärme GmbH,"!551.2791115509.484000551° 16′ 44,8″ N, 009° 29′ 02,4″ O51.2791111111119.484" +Heizkraftwerk Kempen,14,?,"Erdgas +Biogas",Kempen,Nordrhein-Westfalen Nordrhein-Westfalen,1990,,13 MW (Netto),Stadtwerke Kempen GmbH, +Küstenkraftwerk,200!200,192!192 (1500 MWh Wärmespeicher),Erdgas,Kiel,Schleswig-Holstein Schleswig-Holstein,2019,0!,"190 MW (Netto), Gasmotorenkraftwerk, +Ersatz für das ehemalige Gemeinschaftskraftwerk Kiel mit 354 MWel (Brutto) und 295 MWth",Stadtwerke Kiel AG,"!554.3412505510.178028554° 20′ 28,5″ N, 010° 10′ 40,9″ O54.3412510.178027777778" +Heizkraftwerk Kiel-Humboldstraße,ca. 25,140,Erdgas,Kiel,Schleswig-Holstein Schleswig-Holstein,2005,,22 MW (Netto),Stadtwerke Kiel AG, +Kraftwerk Kirchlengern,185,0,"Erdgas +Heizöl",Kirchlengern,Nordrhein-Westfalen Nordrhein-Westfalen,1981,0!,147 MW (Netto),Energieservice Westfalen Weser GmbH,"!552.1962225508.647444552° 11′ 46,4″ N, 008° 38′ 50,8″ O52.1962222222228.6474444444444" +Kraftwerk Kirchmöser,207,0,Erdgas,Brandenburg an der Havel,Brandenburg Brandenburg,1994,0!,"160 MW (Netto), nur Bahnstromerzeugung",Uniper Kraftwerke GmbH,"!552.3945975512.418047552° 23′ 40,5″ N, 012° 25′ 05,0″ O52.39459722222212.418047222222" +Kraftwerk Klein Wanzleben,ca. 25,0,Erdgas und Biogas,Klein Wanzleben,Sachsen-Anhalt Sachsen-Anhalt,1994,,"23 MW (Netto) +Eigenstromversorgung der örtlichen Zuckerfabrik","Nordzucker AG, Werk Klein Wanzleben", +Raffineriekraftwerk Köln-Godorf,215,235,"Erdgas +Mineralölprodukte Raffineriegas +Schweröl",Köln,Nordrhein-Westfalen Nordrhein-Westfalen,1988/2004,0!(bis 2021 Umstellung der Schwerölkessel auf Erdgas),"114 MW (Netto) +Eigenstrom- und Dampfversorgung der Rheinland Raffinerie",Shell Deutschland Oil GmbH, +Industriekraftwerk INEOS-Köln O10,107,?,"Heizöl +Cracköl +Produktions­rückstände",Köln-Worringen,Nordrhein-Westfalen Nordrhein-Westfalen,"Block T21: 1964 +Block T22: 1964 +Block T23: 1963 +Block T24: 1966 +Block T31: 1967 +(Kessel 7: 2020)","2020! +(Block T31: 2020)","Block T21: 16 MW (Netto) +Block T22: 19 MW (Netto) +Block T23: 16 MW (Netto) +Block T24: 10 MW (Netto) +Block T31: 34 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks +(Kessel 7: GuD-Anlage mit 63 MWel im Bau, Inbetriebnahme war 2019 geplant)",INEOS Manufacturing Deutschland GmbH, +Heizkraftwerk Köln-Merheim,33,30,Erdgas,Köln-Merheim,Nordrhein-Westfalen Nordrhein-Westfalen,"GuD: 2001 +BHKW: 2020",GuD: 2020,"GuD: 16 MW (Netto) +BHKW: 33 MW (Netto)",RheinEnergie AG, +Heizkraftwerk Köln-Merkenich,213 (davon 85 Braunkohle und 128 Erdgas),248,"Schweröl: Blöcke 1, 2, 3, 4 (bis 1989), 5 (bis 1989) +Braunkohle: Block 6 +Erdgas: Blöcke 4 (seit 1989), 5 (seit 1989), GuD",Köln-Merkenich,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 1959 +Block 2: 1962 +Block 3: 1965 +Block 4: 1964/89 +Block 5: 1969/89 +GuD: 2004 +Block 6: 1990/2010","0!Block 1: 1986 +Block 2: 1986 +Block 3: 1986 +Block 5: 2004 +(Block 6: voraussichtlich 2025)","Block 1: ca. 5 MW (Netto) +Block 2: ca. 20 MW (Netto) +Block 3: ca. 55 MW (Netto) +Block 4: 16 MW (Netto) +Block 5: ca. 95 MW (Netto) +GuD: 108 MW (Netto) +Block 6: 75 MW (Netto)",RheinEnergie AG,"!551.0180645506.964483551° 01′ 05,0″ N, 006° 57′ 52,1″ O51.0180638888896.9644833333333" +Heizkraftwerk Köln-Niehl,881,"635 +(750 MWh Wärmespeicher)",Erdgas,Köln-Niehl,Nordrhein-Westfalen Nordrhein-Westfalen,"Block 1: 1977 +Block 2: 2005 +Block 3: 2016",Block 1: 2008,"Block 1: ca. 300 MW (Netto) +Block 2: 413 (400) MW (Netto) +Block 3: 460 (450) MW (Netto) +je nach Quelle unterschiedliche Leistungsangaben",RheinEnergie AG, +Heizkraftwerk Könnern,29,150,Braunkohle,Könnern,Sachsen-Anhalt Sachsen-Anhalt,1993/2014,"Block 1: Vermarktungsverbot ab 22.05.2023 gemäß KVBG +0!(2038 spätestens)","20 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Pfeifer & Langen GmbH & Co. KG,"51° 40' 34.2"" N, 011° 46' 06.7"" O" +Heizkraftwerk Krefeld,ca. 15,?,Erdgas,Krefeld,Nordrhein-Westfalen Nordrhein-Westfalen,2011,,13 MW (Netto),SWK Energie GmbH, +Industriekraftwerk Krefeld-Uerdingen,143,460,"Steinkohle +Erdgas +Produktions­rückstände",Krefeld,Nordrhein-Westfalen Nordrhein-Westfalen,"L 57: 1957/92 +N 230: 1960/71",,"L 57: 26 MW (Netto) +N 230: 110 MW (Netto) +Eigenstrom- und Dampfversorgung für den Chempark Krefeld-Uerdingen +GuD-Kraftwerk mit max. 1200 MWel geplant",Currenta GmbH & Co. OHG, +KWK-Anlage Krefeld,ca. 45,?,"Erdgas +Heizöl",Krefeld,Nordrhein-Westfalen Nordrhein-Westfalen,"DT: 1999 +VM: 1999",,"DT: 26 MW (Netto) +VM: 14 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Stärkefabrik",Cargill Deutschland GmbH, +Industriekraftwerk Kreuzau,4,?,Braunkohle,Kreuzau,Nordrhein-Westfalen Nordrhein-Westfalen,1995,(2038 spätestens),"? MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Niederauer Mühle GmbH, +Industriekraftwerk Kriebstein,14,ca. 35,"Erdgas +Heizöl",Kriebstein,Sachsen Sachsen,1993,,"13 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Kübler & Niethammer Papierfabrik Kriebstein AG, +Industriekraftwerk Lage,ca. 12,?,Erdgas,Lage,Nordrhein-Westfalen Nordrhein-Westfalen,2017,,"10 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Pfeifer & Langen GmbH & Co. KG, +Kraftwerk Robert Frank(Kraftwerk Landesbergen),532 (davon 510 Erdgas und 22 Biomasse),30,"Erdgas: GT und DT +Biomasse: Block 5",Landesbergen,Niedersachsen Niedersachsen,"GT: 1973 +DT: 1973 +Block 5: 2003","0!GT: 2020 (Kapazitätsreserve) +DT: 2013 (Kaltreserve)","GT: 56 MW (Netto) +DT: 431 MW (Netto) +Block 5: 20 MW (Netto)",Statkraft Markets GmbH,"!552.5467225509.113028552° 32′ 48,2″ N, 009° 06′ 46,9″ O52.5467222222229.1130277777778" +KWK-Anlage Landshut,ca. 20,?,Erdgas,Landshut,Bayern Bayern,2019,,"18 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen PKW-Fabrik",BMW AG, +Kraftwerk Lausward,853,555 (1340 MWh Wärmespeicher),Erdgas,Düsseldorf-Hafen,Nordrhein-Westfalen Nordrhein-Westfalen,"GuD A: 2000 +DT E: 1977 +GT E1: 1974 +GT E2: 1974 +GuD F: 2016",0!DT E: 2019,"GuD A: 100 MW (Netto) +DT E: 293 MW (Netto) +GT E1: 67 MW (Netto) +GT E2: 65 MW (Netto) +GuD F: 595 MW (Netto) +(davon insgesamt 50 MW Bahnstrom)",Stadtwerke Düsseldorf AG,"!551.2208425506.731572551° 13′ 15,0″ N, 006° 43′ 53,7″ O51.2208416666676.7315722222222" +Dieselkraftwerk Leinau,12,0,Heizöl,Pforzen,Bayern Bayern,1978,,11 MW (Netto),Vereinigte Wertach-Elektrizitätswerke GmbH, +Heizkraftwerk Leipzig-Nord,174,"200 +(225 MWh Wärmespeicher)","Erdgas +Heizöl",Leipzig,Sachsen Sachsen,1996/2010,0!,"167 MW (Netto) +(Gasturbinenanlage mit 120 MWel in Dölnitz (HKW Süd) in Planung)",Stadtwerke Leipzig, +Heizkraftwerk Lemgo-Mitte,ca. 12,?,Erdgas,Lemgo,Nordrhein-Westfalen Nordrhein-Westfalen,1980,,11 MW (Netto),Stadtwerke Lemgo GmbH, +Heizkraftwerk Lemgo-West,13,14,Erdgas,Lemgo,Nordrhein-Westfalen Nordrhein-Westfalen,2001,,13 MW (Netto),Stadtwerke Lemgo GmbH, +Industriekraftwerk Leppersdorf,36,ca. 60,"Erdgas +Klärgas",Leppersdorf,Sachsen Sachsen,2014,,"34 MW (Netto) +Eigenstrom- und Dampfversorgung für Milchverarbeitungsbetrieb",Unternehmensgruppe Theo Müller, +GuD-Kraftwerk Leuna,ca. 200,?,Erdgas,Leuna,Sachsen-Anhalt Sachsen-Anhalt,"GT 1: 1994 +GT 2: 1994 +GT 3: 1994 +DT 1: 1994 +GuD: 1998 +EKT: 2000 +KT1: 2010",0!,"GT 1: 35 MW (Netto) +GT 2: 35 MW (Netto) +GT 3: 37 MW (Netto) +DT 1: 9 MW (Netto) +GuD: 39 MW (Netto) +EKT: 14 MW (Netto) +KT1: 20 MW (Netto)","GT2: TOTAL Raffinerie Mitteldeutschland GmbH +Rest: InfraLeuna Energiegesellschaft mbH", +Raffineriekraftwerk Leuna,162,208,Raffinerie­rückstände,Leuna,Sachsen-Anhalt Sachsen-Anhalt,1997,0!,"93 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks",Steag GmbH,"!551.2981085512.019506551° 17′ 53,2″ N, 012° 01′ 10,2″ O51.29810833333312.019505555556" +Industriekraftwerk Leverkusen,137 (davon 27 Erdgas und 110 Steinkohle),711,"Steinkohle: Block G 22 +Erdgas: Block X 50",Leverkusen,Nordrhein-Westfalen Nordrhein-Westfalen,"G 22: 1962 +X 50: 1981",,"G 22: 103 MW (Netto) +X 50: 25 MW (Netto) +Eigenstrom- und Dampfversorgung für den Chempark Leverkusen +(GuD-Kraftwerk mit 570 MWel von der Steag GmbH geplant)",Currenta GmbH & Co. OHG, +Raffineriekraftwerk Lingen,68,?,"Erdgas +Raffineriegas",Lingen,Niedersachsen Niedersachsen,1996,0!,"66 MW (Netto) +Eigenstrom- und Dampfversorgung der Raffinerie Emsland",BP Europe SE,"!552.5620365507.302636552° 33′ 43,3″ N, 007° 18′ 09,5″ O52.5620361111117.3026361111111" +Erdgaskraftwerk Emsland,1864,124,Erdgas,Lingen,Niedersachsen Niedersachsen,"Block A: 1972 +GT B: 1973/2012 +GT C: 1974/2012 +GT D: 2010 +DT B: 1973 +DT C: 1974 +DT D: 2010","0! +Block A: 1985","Block A: 50 MW (Netto) +GT B: 116 MW (Netto) +GT C: 116 MW (Netto) +GT D: 562 MW (Netto) +DT B: 359 MW (Netto) +DT C: 359 MW (Netto) +DT D: 314 MW (Netto) +(jeweils 2 Gasturbinen pro Block B, C, D)",RWE Generation SE,"!552.4808145507.305586552° 28′ 50,9″ N, 007° 18′ 20,1″ O52.4808138888897.3055861111111" +Kraftwerk Lippendorf,1840,"330 +(460 möglich)","Braunkohle + +Biomasse (Klärschlamm)",Neukieritzsch,Sachsen Sachsen,"Block R: 1999 +Block S: 2000","0! +(Block R: 31. Dezember 2035 spätestens) + +(Block S: 31. Dezember 2035 spätestens)","Block R: 875 MW (Netto) +Block S: 875 MW (Netto) + + +Platz 9 – mit ~11,1 Mio. Jahrestonnen CO2 – auf der Liste der Kraftwerke mit dem höchsten CO2-Ausstoß in der EU.","Block R: EnBW +Block S: LEAG","!551.1767695512.376372551° 10′ 36,4″ N, 012° 22′ 34,9″ O51.17676944444412.376372222222" +Heizkraftwerk Lübbenau,4,45 (davon 4 aus KWK),Erdgas,Lübbenau,Brandenburg Brandenburg,"alte BHKWs: 2003 +neues BHKW: 2018",,4 MW (Netto),Stadt- und Überlandwerke GmbH Luckau-Lübbenau, +Trianel Kohlekraftwerk Lünen (Kraftwerk Lünen-Stummhafen),820,35,Steinkohle,Lünen,Nordrhein-Westfalen Nordrhein-Westfalen,Block 1: 2013,,Block 1: 735 MW (Netto),Trianel Kohlekraftwerk Lünen GmbH & Co. KG, +Kraftwerke BASF-Ludwigshafen,1033,1240,"Erdgas +Reste aus der Chemieproduktion",Ludwigshafen am Rhein,Rheinland-Pfalz Rheinland-Pfalz,"Nord: 1964/2005 +Mitte: 1992/2005 +Süd: 1997",0!,"Nord: 123 (88) MW (Netto) +Mitte: 491 (545) MW (Netto) +Süd: 390 (410) MW (Netto) +je nach Quelle unterschiedliche Leistungsangaben; Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark; +anfänglich in den 70er Jahren als Kernkraftwerk geplant",BASF SE,"!549.5130645508.431611549° 30′ 47,0″ N, 008° 25′ 53,8″ O49.5130638888898.4316111111111" +Fernheizkraftwerk Ludwigshafen,33,?,"Erdgas +Heizöl +Müll",Ludwigshafen am Rhein,Rheinland-Pfalz Rheinland-Pfalz,1967,,"28 MW (Netto) +nutzt Dampf von benachbarter Müllverbrennungsanlage",Technische Werke Ludwigshafen AG, +Industriekraftwerk und Blockheizkraftwerk Ludwigshafen,ca. 26,?,Erdgas,Ludwigshafen am Rhein,Rheinland-Pfalz Rheinland-Pfalz,"Industriekraftwerk: 2003 +BHKW: 2008",,"Industriekraftwerk: 12 MW (Netto) +BHKW: 13 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark",MVV Energie AG, +Kraftwerke Mainz-Wiesbaden,767,160 (750 MWh Wärmespeicher),"Erdgas (laufende Blöcke) +Steinkohle (stillgelegte Blöcke)",Mainz,Rheinland-Pfalz Rheinland-Pfalz,"Block 1-1: 1958 +Block 1-2: 1963 +Block 1-3: 1966 +Block 2-1: 1976 +Block 3-1: 2000 +(KW 5: 2019)","Block 1-1: 2000 +Block 1-2: 2000 +Block 1-3: 2000 +Block 2-1: 2011 (Netzreserve)","Block 1-1: ca. 100 MW (Netto) +Block 1-2: ca. 100 MW (Netto) +Block 1-3: ca. 100 MW (Netto) +Block 2-1: 335 MW (Netto) +Block 3-1: 406 MW (Netto) +nutzt auch Dampf von benachbarter Müllverbrennungsanlage +(KW 5: Gasmotorenkraftwerk mit 100 MWel und 100 MWth im Bau)",Kraftwerke Mainz-Wiesbaden AG (KMW),"50° 1' 35.544"" N, 008° 14' 30.163"" O" +Großkraftwerk Mannheim (GKM),2146,1500 (1500 MWh Wärmespeicher),Steinkohle,Mannheim,Baden-Württemberg Baden-Württemberg,"Block 1: 1954 +Block 2: 1962 +Block 3: 1966 +Block 4: 1970 +Block 5: 1973 +Block 6: 1975/2005 +Block 7: 1983 +Block 8: 1993 +Block 9: 2015","0!Block 1: 1993 +Block 2: 1993 + +Block 3: 2015 + +Block 4: 2015 + +Block 5: 2000 + +(Block 6: 2033 spätestens) + +(Block 7: 2033 spätestens) + +(Block 8: 2033 spätestens) + +(Block 9: 2033 spätestens)","Block 1: ca. 200 MW (Netto) +Block 2: ca. 200 MW (Netto) +Block 3: 203 MW (Netto) +Block 4: 203 MW (Netto) +Block 5: 203 MW (Netto) +Block 6: 255 MW (Netto) +Block 7: 425 MW (Netto) +Block 8: 435 MW (Netto) +Block 9: 843 MW (Netto) +(davon insgesamt 310 MW Bahnstrom)","Großkraftwerk Mannheim AG +(EnBW Energie Baden-Württemberg AG, MVV Energie AG)","!549.4444445508.498056549° 26′ 40,0″ N, 008° 29′ 53,0″ O49.4444444444448.4980555555556" +Kraftwerk Marbach,437,0,Heizöl,Marbach am Neckar,Baden-Württemberg Baden-Württemberg,"Block 1: 1940 +GT II: 1971 +GT III: 1975 +DT III: 1975","Block 1: 19852019! +GT II: 2013 (Netzreserve) +GT III: 2013 (Netzreserve) +DT III: 2013 (Netzreserve), war von 1998 bis 2005 in Kaltreserve","GT II: 77 MW (Netto) +GT III: 85 MW (Netto) +DT III: 264 MW (Netto) +(300 MW Gasturbine als ""besonderes netztechnisches Betriebsmittel"" mit Inbetriebnahme für 2022 geplant)",EnBW Energie Baden-Württemberg AG,"!548.9274695509.230072548° 55′ 38,9″ N, 009° 13′ 48,3″ O48.9274694444449.2300722222222" +Industriekraftwerk Martinswerk,"ca. 30 (davon ca. 25 Braunkohle, ca. 4 Erdgas und ca. 1 Heizöl)",?,"Braunkohle: K1 / TG1, K2 / TG2 +Erdgas: K3 + 4 / TG4 +Heizöl: G5",Bergheim,Nordrhein-Westfalen Nordrhein-Westfalen,"K1 / TG1: 1995 +K2 / TG2: 1995 +K3 + 4 / TG4: 1995 +G5: 1995",(Braunkohleverstromung: 2038 spätestens),"K1 / TG1: 10 MW (Netto) +K2 / TG2: 10 MW (Netto) +K3 + 4 / TG4: 3 MW (Netto) +G5: 1 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark",Martinswerk GmbH, +Kraftwerk Meggle,ca. 15,?,Erdgas,Reitmehring,Bayern Bayern,2000,,"15 MW (Netto) +Eigenstrom- und Dampfversorgung für Molkerei",Molkerei Meggle Wasserburg GmbH & Co. KG, +Kraftwerk Mehrum,750,0,"Steinkohle +Klärschlamm",Hohenhameln,Niedersachsen Niedersachsen,Block 3: 1979/2003,2020!Block 3: Vermarktungsverbot ab 01.12.2021 gemäß KVBG,Block 3: 690 MW (Netto),"KWM-GmbH +(EPH)","!552.3150445510.093792552° 18′ 54,2″ N, 010° 05′ 37,7″ O52.31504444444410.093791666667" +Dieselkraftwerk Mindelheim,11,0,Heizöl,Mindelheim,Bayern Bayern,1988,,11 MW (Netto),Vereinigte Wertach-Elektrizitätswerke GmbH, +Energiezentrum Mohn Media,ca. 30,?,Erdgas,Gütersloh,Nordrhein-Westfalen Nordrhein-Westfalen,1994,,"25 MW (Netto) +Eigenstrom-, Kälte- und Dampfversorgung für Druckerei",Mohn Media Mohndruck GmbH, +Industriekraftwerk Moritzburg,ca. 70,?,Erdgas,Moritzburg,Sachsen Sachsen,"Block 1: 1998 +Block 2: 2005",,"Block 1: 34 MW (Netto) +Block 2: 34 MW (Netto) +Eigenstrom- und Dampfversorgung für Globalfoundries-Fabrik",Energieversorgungscenter Dresden-Wilschdorf GmbH & Co. KG, +Energiezentrale des Flughafens München,ca. 40,> 22,"Energiezentrale: Erdgas, Heizöl +Erweiterung 1: Erdgas +Erweiterung 2: Erdgas",München,Bayern Bayern,"Energiezentrale: 1992 +Erweiterung 1: 2003 +Erweiterung 2: 2016",,"Energiezentrale: 10 MW (Netto) +Erweiterung 1: 7 MW (Netto) +Erweiterung 2: 17 MW (Netto)",Flughafen München GmbH / Terminal 2 Gesellschaft mbH & Co oHG, +Heizkraftwerk München-Freimann,(106) im Bau,260 (+ 125 im Bau) (ca. 1200 MWh und ca. 350 MWh Wärmespeicher),Erdgas,München,Bayern Bayern,"GT 1 (alt): 1975 +GT 2 (alt): 1975 +GT 1 (neu): (2019?) +GT 2 (neu): (2019?)","GT 1 (alt): 2015 +GT 2 (alt): 2015","GT 1 (alt): 80 MW (Netto) +GT 2 (alt): 80 MW (Netto) +GT 1 (neu): (50 MW (Netto) im Bau) +GT 2 (neu): (50 MW (Netto) im Bau)",Stadtwerke München Services GmbH, +Heizkraftwerk München-Nord,414 (davon 365 Steinkohle und 49 Müll),900 (davon 722 aus KWK),"Steinkohle: Block 2 +Erdgas: Block 2 +Klärschlamm: Block 2 +EBS (Müll): Blöcke 1, 3",Unterföhring,Bayern Bayern,"Block 1: 1991 +Block 2: 1966/91 +Block 3: 1984","2022! +Block 1: ? +Block 2: 2019 (Netzreserve); endgültige Stilllegung 2022 spätestens nach Bürgerbegehren; ursprünglich 2035, nach aktueller Planung voraussichtlich 2028","Block 1: 18 MW (Netto) +Block 2: 333 MW (Netto) +Block 3: 22 MW (Netto)",Stadtwerke München Services GmbH,"!548.1812335511.639822548° 10′ 52,4″ N, 011° 38′ 23,4″ O48.18123333333311.639822222222" +Heizkraftwerk München Süd,698,814,Erdgas,München,Bayern Bayern,"DT 1: 1980 +GT 2: 1980 +GT 3: 1980 +DT 60: 2004 +GT 61: 2004 +GT 62: 2004",0!,"DT 1: 80 MW (Netto) +GT 2: 98 MW (Netto) +GT 3: 98 MW (Netto) +DT 60: 128 MW (Netto) +GT 61: 125 MW (Netto) +GT 62: 124 MW (Netto)",Stadtwerke München Services GmbH,"!548.1140365511.555783548° 06′ 50,5″ N, 011° 33′ 20,8″ O48.11403611111111.555783333333" +Heizkraftwerk Münster Hafen,104,250 (davon 120 aus KWK; 545 MWh Wärmespeicher),"Erdgas, Heizöl",Münster,Nordrhein-Westfalen Nordrhein-Westfalen,GuD: 2005,0!,GuD: 100 MW (Netto),Stadtwerke Münster GmbH,"!551.9500835507.641278551° 57′ 00,3″ N, 007° 38′ 28,6″ O51.9500833333337.6412777777778" +Heizkraftwerk Neubrandenburg,77,90 (700 MWh Wärmespeicher im Bau; Aquiferspeicher),Erdgas,Neubrandenburg,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,GuD: 1997/2018,,GuD: 75 MW (Netto),Neubrandenburger Stadtwerke GmbH, +Heizkraftwerk Neugersdorf,2,17,Braunkohle,Neugersdorf,Sachsen Sachsen,1997,(2038 spätestens),? MW (Netto),Stadtwerke Oberland, +Heizkraftwerk Neumünster NMS,73,230,"Steinkohle +EBS (u. a. Müll)",Neumünster,Schleswig-Holstein Schleswig-Holstein,1974/83/2005,,54 MW (Netto),Stadtwerke Neumünster GmbH, +Kraftwerk Neurath,4465,"9 +(Nutzung zur Heizung eines nahegelegenen Gewächshauses)",Braunkohle,Grevenbroich,Nordrhein-Westfalen Nordrhein-Westfalen,"Block A: 1972 +Block B: 1972 +Block C: 1973 +Block D: 1975 +Block E: 1976 +Block F (BoA 2): 2012 +Block G (BoA 3): 2012","2019! +(Block A: 31. Dezember 2021) + +(Block B: 31. Dezember 2021) + +(Block C: 2019/2023 (Sicherheitsbereitschaft)) + +(Block D: 31. Dezember 2022) + +(Block E: 31. Dezember 2022) + +(Block F (BoA 2): 31. Dezember 2038 spätestens) + +(Block G (BoA 3): 31. Dezember 2038 spätestens)","Block A: 294 MW (Netto) +Block B: 294 MW (Netto) +Block C: 292 MW (Netto) +Block D: 607 MW (Netto) +Block E: 604 MW (Netto) +Block F (BoA 2): 1060 MW (Netto) +Block G (BoA 3): 1060 MW (Netto) + + +Platz 2 – mit ~22,1 Mio. Jahrestonnen CO2 – auf der Liste der Kraftwerke mit dem höchsten CO2-Ausstoß in der EU.",RWE Power AG,"!551.0378195506.611881551° 02′ 16,1″ N, 006° 36′ 42,8″ O51.0378194444446.6118805555556" +Industriekraftwerk Neuss,ca. 20,?,Erdgas,Neuss,Nordrhein-Westfalen Nordrhein-Westfalen,1992,,"19 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Kartonfabrik",FS-Karton GmbH, +Industriekraftwerk Neustadt,ca. 25,?,Erdgas,Neustadt,Bayern Bayern,1996,,"25 MW (Netto) +Eigenstrom- und Dampfversorgung der Erdölraffinerie Neustadt",Bayernoil Raffineriegesellschaft mbH, +Kraftwerk Niederaußem,3641,245,Braunkohle,Bergheim-Niederaußem,Nordrhein-Westfalen Nordrhein-Westfalen,"Block A: 1963 +Block B: 1963 +Block C: 1965 +Block D: 1968 +Block E: 1970 +Block F: 1971 +Block G: 1974/2008 +Block H: 1974/2009 +Block K (BoA 1): 2002","0! +Block A: 2012 (Kaltreserve) +Block B: 2012 (Kaltreserve) +(Block C: 31. Dezember 2021) +(Block D: 31. Dezember 2020) +(Block E: 2018/2022 (Sicherheitsbereitschaft)) +(Block F: 2018/2022 (Sicherheitsbereitschaft)) +(Block G: 31. Dezember 2029 spätestens) +(Block H: 31. Dezember 2029 (Sicherheitsbereitschaft)) +(Block K (BoA 1): 31. Dezember 2038 spätestens)","Block A: 125 MW (Netto) +Block B: 125 MW (Netto) +Block C: 295 MW (Netto) +Block D: 297 MW (Netto) +Block E: 295 MW (Netto) +Block F: 299 MW (Netto) +Block G: 628 MW (Netto) +Block H: 648 MW (Netto) +Block K (BoA 1): 994 MW (Netto) +Block L mit 1100 MWel geplant, Planung mittlerweile eingestellt + + +Platz 3 – mit ~16,1 Mio. Jahrestonnen CO2 – auf der Liste der Kraftwerke mit dem höchsten CO2-Ausstoß in der EU.",RWE Power AG,"!550.9960865506.671331550° 59′ 45,9″ N, 006° 40′ 16,8″ O50.9960861111116.6713305555556" +Kraftwerk Nordstemmen,ca. 35,?,"Erdgas +Steinkohle",Nordstemmen,Niedersachsen Niedersachsen,1953,,"31 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik","Nordzucker AG, Werk Nordstemmen", +Heizkraftwerk zur Papierfabrik Nortrup,ca. 20,?,Erdgas,Nortrup,Niedersachsen Niedersachsen,1996,,"18 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Delkeskamp Verpackungswerke GmbH, +Heizkraftwerk Nürnberg-Sandreuth,"225 (davon ca. 200 Erdgas, 19 Müll und 6 Biomasse)",320 (1500 MWh Wärmespeicher),"Erdgas: GuD 1, GuD 2 +Müll: Abfallblock +Biomasse: Biomasseblock",Nürnberg,Bayern Bayern,"GuD 1: 2005 +GuD 2: 2005 +Abfallblock: 1996 +Biomasseblock: 2012",0!,"GuD 1: 75 MW (Netto) +GuD 2: 75 MW (Netto) +Abfallblock: 18 MW (Netto) +Biomasseblock: 6 MW (Netto)",N-ERGIE AG,"49° 26' 11.342"" N, 011° 3' 20.959"" O" +Industriekraftwerk Nürnberg,ca. 20,?,Erdgas,Nürnberg,Bayern Bayern,"GT 1: 1993 +GT 2: 1993 +GT 3: 1994 +GT 4: 1995",(die dazugehörige Produktion wird 2021 stillgelegt),"GT 1: 4 MW (Netto) +GT 2: 4 MW (Netto) +GT 3: 5 MW (Netto) +GT 4: 5 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Druckerei",Prinovis GmbH & Co. KG, +Heizkraftwerk Alt-Oberhausen (HWK 1),24,ca. 150 (davon 89 aus KWK),Erdgas,Oberhausen,Nordrhein-Westfalen Nordrhein-Westfalen,1971/79,0!,"23 MW (Netto) +Nutzt auch Abwärme aus der benachbarten Müllverbrennungsanlage (GMVA)",Energieversorgung Oberhausen AG,"!551.4706945506.861250551° 28′ 14,5″ N, 006° 51′ 40,5″ O51.4706944444446.86125" +Industriekraftwerk Oberhausen,ca. 40,?,Restgase aus der Produktion,Oberhausen,Nordrhein-Westfalen Nordrhein-Westfalen,1929/54/2017,,"38 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark",Oxea Production GmbH & Co. KG, +Industriekraftwerk Oberkirch,20,?,Steinkohle,Oberkirch,Baden-Württemberg Baden-Württemberg,1986,,"19 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Koehler SE, +Kraftwerk Obernburg,110,112,Erdgas,Obernburg am Main,Bayern Bayern,"Block 1: 1995 +Block 2: 1920?/2010?",0!,"Block 1: 64 MW (Netto) +Block 2: 36 MW (Netto) +Eigenstrom- und Dampfversorgung für das Industrie Center Obernburg; +Erweiterung oder Ersatzneubau durch GuD mit 114 MWel und 238 MWth",Kraftwerk Obernburg GmbH,"49° 49' 44.144"" N, 009° 8' 53.39"" O" +Heizkraftwerk Offenbach,60,100 (350 MWh Wärmespeicher),"Steinkohle +Biomasse",Offenbach,Hessen Hessen,1990,,54 MW (Netto),Energieversorgung Offenbach AG, +Heizkraftwerk Offstein,ca. 35,?,Erdgas,Obrigheim,Rheinland-Pfalz Rheinland-Pfalz,1961,,"30 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Südzucker AG Mannheim, +Heizkraftwerk Osnabrück,ca. 20,?,"Braunkohle +Steinkohle +EBS",Osnabrück,Niedersachsen Niedersachsen,"Turbine 4: 1962/1990 +Turbine 5: 1972/1990",(Braunkohleverstromung: 2038 spätestens),"Turbine 4: 10 MW (Netto) +Turbine 5: 10 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Kämmerer Energie GmbH, +Heizkraftwerk Pforzheim,"105 (davon 30 Steinkohle, ca. 15 Biomasse und ca. 60 Erdgas)",182 (davon 127 aus KWK),"Steinkohle: Wirbelschichtblock +Erdgas: Kombiblock, Gaskesselanlagen +EBS: Wirbelschichtblock +Biomasse: Biomasseblock",Pforzheim,Baden-Württemberg Baden-Württemberg,"Gaskesselanlage 1: 1965 +Gaskesselanlage 2: 1969 +Kombiblock/GuD: 1980 +Wirbelschichtblock: 1990 +Biomasseblock: 2004 +BHKW: 2017","2023! +Gaskesselanlage 2: 2016 + +(Kombiblock GuD: 2023) + +(Wirbelschichtblock: 2023) +(Kohleverbrennung: 2021 geplant)","Gaskesselanlage 1: 11 MW (Netto) +Gaskesselanlage 2: 11 MW (Netto) +Kombiblock GuD: 41 MW (Netto) +Wirbelschichtblock: 27 MW (Netto) +Biomasseblock: 12 MW (Netto) +BHKW: 2 MW (Netto) +(Gasmotorenkraftwerk mit 50 MWel und 47 MWth im Bau)",Heizkraftwerk Pforzheim GmbH, +Kraftwerk Plattling,125,150,Erdgas,Plattling,Bayern Bayern,2010,0!,"119 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik; +Stromversorgung des Daimler-Werkes Sindelfingen",Daimler AG,"48° 47' 16.048"" N, 012° 52' 59.606"" O" +Heizkraftwerk Potsdam-Süd,84,450 (davon 270 aus KWK; 1200 MWh Wärmespeicher),Erdgas,Potsdam,Brandenburg Brandenburg,1995,0!,82 MW (Netto),Stadtwerke Potsdam,"!552.3652065513.113053552° 21′ 54,7″ N, 013° 06′ 47,0″ O52.36520555555613.113052777778" +Heizkraftwerk Raubling,27,70,Erdgas,Raubling,Bayern Bayern,2001,,"24 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",HBB Heizkraftwerk Bauernfeind Betriebsgesellschaft mbH, +Industriekraftwerk Regensburg,ca. 15,?,Erdgas,Regensburg,Bayern Bayern,"Block 1: 2012 +Block 2: 2016",,"Block 1: 11 MW (Netto) +Block 2: 3 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen PKW-Fabrik",BMW AG, +Kraftwerk Reno De Medici,21,?,Steinkohle,Arnsberg,Nordrhein-Westfalen Nordrhein-Westfalen,1923/56,,"19 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Kartonfabrik",R. D. M. Arnsberg GmbH, +Blockheizkraftwerk Reutlingen Hauffstraße,10,52 (davon 12 aus KWK),Erdgas,Reutlingen,Baden-Württemberg Baden-Württemberg,1992/2007/2011,,10 MW (Netto),FairEnergie GmbH, +Industriekraftwerk Rheinberg,133,?,"Steinkohle + +Erdgas",Rheinberg,Nordrhein-Westfalen Nordrhein-Westfalen,1975,0!,"79 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark +(Holzkraftwerk mit 15 MWel und ca. 70 MWth geplant)",Solvay Chemicals GmbH, +Heizkraftwerk Rheinfelden,ca. 20,?,"Erdgas +Wasserstoff",Rheinfelden,Baden-Württemberg Baden-Württemberg,1979,,"16 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark",Evonik Degussa GmbH, +Kraftwerk Römerbrücke,133 (davon 56 Kohle und 77 Erdgas),235,"Steinkohle +Erdgas",Saarbrücken,Saarland Saarland,"Kohleblock: 1964/89/2011 +GuD-Block: 1967/74/75/2005/11 +(GAMOR: 2022)",0!(Kohleblock: 2022 geplant),"Kohleblock: 50 MW (Netto) +GuD-Block: 75 MW (Netto) +(Gasmotorenkraftwerk mit 50 MWel und 50 MWth sowie Fernwärmespeicher im Bau)",Electrabel Saarland GmbH,"!549.2236115507.015000549° 13′ 25,0″ N, 007° 00′ 54,0″ O49.2236111111117.015" +Kraftwerk Rosenheim-Färberstraße,ca. 25 (davon ca. 10 Müll und ca. 15 Erdgas),? (ca. 50 MWh Wärmespeicher),"Erdgas: GM 1-3, GM 4 +Müll, Erdgas, Heizöl: T1a/b, T2",Rosenheim,Bayern Bayern,"GM 1-3: 2011 +GM 4: 2013 +T1a/b, T2: 1988",,"GM 1-3: 10 MW (Netto) +GM 4: 9 MW (Netto) +T1a/b, T2: 9 MW (Netto)",Stadtwerke Rosenheim GmbH & Co. KG, +Kraftwerk Rosenheim-Oberaustraße,ca. 10,?,Erdgas,Rosenheim,Bayern Bayern,GM 5: 2012,,GM 5: 4 MW (Netto),Stadtwerke Rosenheim GmbH & Co. KG, +Kraftwerk Rostock,553,"150 +(300 möglich)",Steinkohle,Rostock,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,Block 1: 1994/2013,,Block 1: 514 MW (Netto),KNG Kraftwerks- und Netzgesellschaft mbH,"!554.1428445512.132950554° 08′ 34,2″ N, 012° 07′ 58,6″ O54.14284444444412.13295" +Kraftwerk Rostock-Marienehe,111,"408 (davon 120 aus KWK, ca. 600 MWh Wärmespeicher im Bau)",Erdgas,Rostock,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,"Block I: 1996/2017 +Block II: 1996/2017 +Block III: 1996/2017",0!,"Block I: 36 MW (Netto) +Block II: 36 MW (Netto) +Block III: 36 MW (Netto) +Soll um eine Klärschlamm-Verbrennungsanlage ergänzt werden",Stadtwerke Rostock AG, +Kraftwerk Rüsselsheim,114,88,Erdgas,Rüsselsheim am Main,Hessen Hessen,1999,0!,"112 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Opelwerkes",Opel Automobile GmbH,"49° 59' 28.684"" N, 008° 23' 33.641"" O" +Energiezentrale Rütgers,ca. 12,?,"Erdgas +Heizöl",Castrop-Rauxel,Nordrhein-Westfalen Nordrhein-Westfalen,"Energiecenter: 2005 +GT: 1991",,"Energiecenter: 1 MW (Netto) +GT: 10 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks",Rütgers Germany GmbH, +Heizkraftwerk Saarbrücken-Süd,40,"33 +(ca. 170 MWh Wärmespeicher)",Erdgas,Saarbrücken,Saarland Saarland,2012,,"39 MW (Netto) +Eigenstrom- und Dampfversorgung für Automobilzulieferer",ZF Friedrichshafen AG, +Energiezentrale Saarlouis,ca. 25,20,Erdgas,Saarlouis,Saarland Saarland,2016,,"22 MW (Netto) +Eigenstrom- und Wärmeerzeugung für Automobilhersteller",Ford-Werke GmbH, +Kraftwerk Salzgitter-Hallendorf,325,?,Kuppelgase aus der Stahlerzeugung,Salzgitter,Niedersachsen Niedersachsen,"Block AB: 1939/2011 +Block 1: 2010 +Block 2: 2010",0!,"Block AB: 95 MW (Netto) +Block 1: 97 MW (Netto) +Block 2: 97 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Stahlwerkes",Salzgitter Flachstahl GmbH, +Werkskraftwerk Sappi Alfeld,ca. 30,?,"Erdgas, Biogas, Heizöl",Alfeld,Niedersachsen Niedersachsen,"Gaskraftwerk: 1947 +Dieselgenerator: 1994 +Turbine 5: 2003",Dieselgenerator: 2018,"Gaskraftwerk: 11 MW (Netto) +Dieselgenerator: 3 MW (Netto) +Turbine 5: 13 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapier-Fabrik",Sappi Alfeld GmbH, +Werkskraftwerk Sappi Ehingen,ca. 30,?,"Erdgas: Turbine 4 +Biomasse: Turbine 3, Turbine 5",Ehingen,Baden-Württemberg Baden-Württemberg,"Turbine 3: 1961 +Turbine 4: 1977 +Turbine 5: 1990",,"Turbine 3: 8 MW (Netto) +Turbine 4: 4 MW (Netto) +Turbine 5: 13 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapier-Fabrik",Sappi Ehingen GmbH, +Werkskraftwerk Sappi Stockstadt,ca. 41 (davon 26 Steinkohle und ca. 15 Biomasse),?,"Steinkohle: Steinkohleblock +Biomasse: Biomasseblock",Stockstadt,Bayern Bayern,"Steinkohleblock: 1970 +Biomasseblock: 2003",Steinkohleblock: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG,"Steinkohleblock: 25 MW (Netto) +Biomasseblock: 14 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapier-Fabrik",Sappi Stockstadt GmbH, +Kraftwerk Schkopau,980,200,Braunkohle,Schkopau,Sachsen-Anhalt Sachsen-Anhalt,"Block A: 1996 +Block B: 1996","2035!(Block A: 31. Dezember 2034) +(Block B: 31. Dezember 2034)","Block A: 450 MW (Netto) +Block B: 450 MW (Netto) +davon insgesamt 110 MW (Netto) Bahnstrom",Uniper Kraftwerke GmbH,"!551.3984565511.950325551° 23′ 54,4″ N, 011° 57′ 01,2″ O51.39845555555611.950325" +Industriekraftwerk Schönfeld,1,?,Braunkohle,Schönfeld,Sachsen Sachsen,2007,0!(2038 spätestens),"? MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapier-Fabrik",Schönfelder Papierfabrik GmbH; Getec AG, +Kraftwerk Scholven,828,244,"Steinkohle: Blöcke B, C, D, E, F, FKW Buer +Öl (Schweröl): Blöcke G, H +Petrolkoks: Blöcke B, C, FKW Buer",Gelsenkirchen,Nordrhein-Westfalen Nordrhein-Westfalen,"Block B: 1968 +Block C: 1969 +Block D: 1970 +Block E: 1971 +Block F: 1979 +Block FWK Buer: 1985 +Block G: 1974 +Block H: 1975 +(GuD: 2022)","(Block B: 2022) +Block C: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG +Block D: 2014 +Block E: 2014 +Block F: 2014 +(Block FWK Buer: 2022) +Block G: 2001 +Block H: 2003","Block B: 345 MW (Netto) +Block C: 345 MW (Netto) +Block D: 345 MW (Netto) +Block E: 345 MW (Netto) +Block F: 676 MW (Netto) +Block FWK Buer: 70 MW (Netto) +Block G: 640 MW (Netto) +Block H: 640 MW (Netto) +(GuD-Kraftwerk mit 130 MWel im Bau, Inbetriebnahme für 2022 vorgesehen)",Uniper Kraftwerke GmbH,"!551.6035675507.002067551° 36′ 12,8″ N, 007° 00′ 07,4″ O51.6035666666677.0020666666667" +Kraftwerk Schongau,ca. 150,?,"Erdgas: DKW, HKW 3 +Reststoffe aus der Altpapieraufbereitung: HKW 2",Schongau,Bayern Bayern,"DKW: 1954/2015 +HKW 2: 1989 +HKW 3: 2014",0!DKW: (Netzreserve),"DKW: 64 MW (Netto) +HKW 2: 6 MW (Netto) +HKW 3: 76 MW (Netto) +Eigenstrom- und Dampfversorgung für die örtliche Papierfabrik",UPM GmbH, +Heizkraftwerk Schwarza,ca. 30,?,Erdgas,Rudolstadt,Thüringen Thüringen,1936,,"27 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Industriegebietes",Energie- und Medienversorgung Schwarza GmbH, +Kraftwerk Schwarzheide,124,209,Erdgas,Schwarzheide,Brandenburg Brandenburg,"GuD: 1994 +(GT: 2022)",0!,"122 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemiestandortes; eine der beiden GuD-Turbinensätze wird durch eine GT ersetzt",BASF Schwarzheide GmbH, +Kraftwerk Schwarze Pumpe,1600,120,Braunkohle,"Spremberg +(Industriepark Schwarze Pumpe)",Brandenburg Brandenburg,"Block A: 1997 +Block B: 1998","0! +(Block A: 31. Dezember 2038 spätestens) + +(Block B: 31. Dezember 2038 spätestens)","Block A: 750 MW (Netto) +Block B: 750 MW (Netto) + + +Platz 8 – mit ~11,8 Mio. Jahrestonnen CO2 – auf der Liste der Kraftwerke mit dem höchsten CO2-Ausstoß in der EU.",LEAG,"!551.5358145514.354753551° 32′ 08,9″ N, 014° 21′ 17,1″ O51.53581388888914.354752777778" +Raffineriekraftwerk Schwedt/Oder,"375,5",132,"Mineralölprodukte +Ölrückstand +Raffineriegas",Schwedt,Brandenburg Brandenburg,"Block 1: 1998 +Block 2: 1998 +Block 4: 2011 +Block 5: 1972 +Block 6: 1994",0!,"Block 1: 106 MW (Netto) +Block 2: 106 MW (Netto) +Block 4: 59 MW (Netto) +Block 5: 28 MW (Netto) +Block 6: 35 MW (Netto) +Eigenstrom- und Dampfversorgung der PCK-Raffinerie",PCK-Raffinerie GmbH,"53° 5' 42.95"" N, 14° 13' 55.052"" O" +GKS Gemeinschaftskraftwerk Schweinfurt,29,60,"Steinkohle +Klärschlamm +EBS (Müll)",Schweinfurt,Bayern Bayern,1990/94,0!,24 MW (Netto),Gemeinschaftskraftwerk Schweinfurt GmbH,"!550.0300865510.223606550° 01′ 48,3″ N, 010° 13′ 25,0″ O50.03008611111110.223605555556" +Heizkraftwerk Schwerin-Lankow,24,32,Erdgas,Schwerin,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,GuD: 1994,,GuD: 23 MW (Netto),Energieversorgung Schwerin GmbH & Co., +Heizkraftwerk Schwerin-Süd,54,60 (ca. 450 MWh Wärmespeicher),Erdgas,Schwerin,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,GuD: 1994,,GuD: 45 MW (Netto),Energieversorgung Schwerin GmbH & Co., +Spitzenlastkraftwerk Sermuth,ca. 17,0,Mineralölprodukte,Großbothen,Sachsen Sachsen,1995,,17 MW (Netto),envia THERM GmbH, +Heizkraftwerk Sigmundshall,ca. 15,?,Erdgas,Wunstorf,Niedersachsen Niedersachsen,1974,,"11 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Kalibergbau; +Bergbau 2018 eingestellt",K+S AG, +Heizkraftwerk Sindelfingen,102,102,"Erdgas +Heizöl",Sindelfingen,Baden-Württemberg Baden-Württemberg,1986/2013,0!2015 (Netzreserve),"95 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Daimler-Werkes",Daimler AG,"48° 42' 2.444"" N, 008° 59' 29.18"" O" +Gasturbinen-Heizkraftwerk St. Wendel,ca. 22,?,Erdgas,St. Wendel,Saarland Saarland,2014,,"20 MW (Netto) +Eigenstrom- und Dampfversorgung für Medizinprodukte-Produktion",Fresenius Medical Care Deutschland GmbH, +Kraftwerk Stade,173,?,"Erdgas +Wasserstoff",Stade,Niedersachsen Niedersachsen,"KWK: 1972 +GuD: 2015",0!KWK: 2014,"KWK: 190 MW (Netto) +GuD: 157 MW (Netto) +soll um umstrittenes Kohlekraftwerk mit 840 MWel und 230 MWth erweitert werden, Planung mittlerweile eingestellt",Dow Deutschland Aktiengesellschaft mbH, +Kraftwerk Stade-Bützfleth,31,?,Erdgas,Stade,Niedersachsen Niedersachsen,GT 1 und 2: 2012,,"GT 1 und 2: 31 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks",Aluminium Oxid Stade GmbH, +Kraftwerk Staßfurt,123,160,Erdgas,Staßfurt,Sachsen-Anhalt Sachsen-Anhalt,"altes GuD: ? +neues GuD: 2015",0!altes GuD: 2015,"altes GuD: 9 MW (Netto) +neues GuD: 100 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks",KWG-Kraftwerksgesellschaft Staßfurt mbH, +Kraftwerk Steinitz,ca. 12,?,Erdgas,Steinitz,Sachsen-Anhalt Sachsen-Anhalt,1999,,"11 MW (Netto) +Erdgas aus örtlicher Förderung",Neptune Energy Deutschland GmbH, +Heizkraftwerk Stendal,23,70 (davon 24 aus KWK; ca. 150 MWh Wärmespeicher),Erdgas,Stendal,Sachsen-Anhalt Sachsen-Anhalt,Gasmotorenkraftwerk: 1994,,"22 MW (Netto) +wird durch mehrere dezentrale BHKWs mit insgesamt 15 MW el (Netto) und 61 MW th (davon 20 aus KWK) ersetzt",Stadtwerke Stendal, +Heizkraftwerk Stuttgart-Gaisburg,30,205 (davon 30 aus KWK; 300 MWh Wärmespeicher),"Steinkohle: DT 14 +Erdgas: HKW 3, GT 13 +Heizöl: HKW 3",Stuttgart-Gaisburg,Baden-Württemberg Baden-Württemberg,"GT 13: 1973 +DT 14: 2009 +HKW 3: 2018","0!GT 13: 2014 +DT 14: 2018","GT 13: 55 MW (Netto) +DT 14: 23 MW (Netto) +HKW 3: 29 MW (Netto)",EnBW Energie Baden-Württemberg AG,"!548.7822475509.231336548° 46′ 56,1″ N, 009° 13′ 52,8″ O48.7822472222229.2313361111111" +Heizkraftwerk Stuttgart-Münster,190 (davon 118 Steinkohle und 72 Heizöl),447,"Steinkohle: DT 12, DT 15, DT 19 +EBS (Müll): DT 12, DT 15; DT 19 +Heizöl: GT 16, GT 17, GT 18",Stuttgart-Münster,Baden-Württemberg Baden-Württemberg,"GT 16: 1974 +GT 17: 1974 +GT 18: 1974 +DT 12: 1982 +DT 15: 1984 +DT 19: 2009",,"GT 16: 23 MW (Netto) +GT 17: 23 MW (Netto) +GT 18: 23 MW (Netto) +DT 12: 45 MW (Netto) +DT 15: 45 MW (Netto) +DT 19: 20 MW (Netto)",EnBW Energie Baden-Württemberg AG,"!548.8153645509.219742548° 48′ 55,3″ N, 009° 13′ 11,1″ O48.8153638888899.2197416666667" +Heizkraftwerk Stuttgart Pfaffenwald,39,93 (zuzüglich 23 MW Fernkälte),"Erdgas +Heizöl",Stuttgart-Pfaffenwald,Baden-Württemberg Baden-Württemberg,"GuD-Anlage 40: 1988 +Block 50: 1969 +Block 60: 1968",,"GuD-Anlage 40: 12 MW (Netto) +Block 50: 11 MW (Netto) +Block 60: 12 MW (Netto)",Universität Stuttgart, +Industriekraftwerk Teisnach,2,20,Braunkohle,Teisnach,Bayern Bayern,2004,"0!geplant Juli 2022 +Ersatz durch Biomasse","? MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapier-Fabrik",Pfleiderer Teisnach GmbH & Co. KG / Getec AG, +Gasturbinenkraftwerk Thyrow,190,0,Erdgas,Märkisch Wilmersdorf,Brandenburg Brandenburg,"GT A: 1987 +GT B: 1987 +GT C: 1987 +GT D: 1987 +GT E: 1987 +GT F: 1987 +GT G: 1987 +GT H: 1987","0!GT A: 2020 (Kapazitätsreserve) +GT B: 2020 (Kapazitätsreserve) +GT C: 2020 (Kapazitätsreserve) +GT D: 2020 (Kapazitätsreserve) +GT E: 2020 (Kapazitätsreserve) +GT F: 2016 +GT G: 2016 +GT H: 2016","GT A: 37 MW (Netto) +GT B: 37 MW (Netto) +GT C: 37 MW (Netto) +GT D: 37 MW (Netto) +GT E: 38 MW (Netto) +GT F: 38 MW (Netto) +GT G: 38 MW (Netto) +GT H: 38 MW (Netto)",LEAG,"!552.2301405513.302160552° 13′ 48,5″ N, 013° 18′ 07,8″ O52.2301413.30216" +Heizkraftwerk Tiefstack,"347 +(davon 205 Kohle und 142 Erdgas)",955 (900 MWh Wärmespeicher),"Steinkohle +Erdgas",Hamburg,Hamburg Hamburg,"Kohleblock: 1993 +GuD-Block: 2009",0!(Kohleblock: 2030),"Kohleblock: 194 MW (Netto) +GuD-Block: 127 MW (Netto)",Vattenfall Hamburg Wärme GmbH,"!553.5266395510.064194553° 31′ 35,9″ N, 010° 03′ 51,1″ O53.52663888888910.064194444444" +Gemeinschaftskraftwerk Tübingen,9,30,Erdgas,Tübingen,Baden-Württemberg Baden-Württemberg,1996,,9 MW (Netto),Stadtwerke Tübingen, +Blockheizkraftwerk Tübingen Obere Viehweide,13,12 (ca. 15 MWh Wärmespeicher),Erdgas,Tübingen,Baden-Württemberg Baden-Württemberg,2000/13/17,,13 MW (Netto),Stadtwerke Tübingen, +Heizkraftwerk Ulm Magirusstraße,36 (davon 21 Kohle und 15 Biomasse),278,"Steinkohle: HKW +Erdgas: HKW +Heizöl: HKW +Biomasse: Bio-HKWs",Ulm-Söflingen,Baden-Württemberg Baden-Württemberg,"HKW: 1992 +Bio-HKW I: 2004 +Bio-HKW II: 2012",Kohleblock: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG,"HKW: 18 MW (Netto) +Bio-HKW I: 9 MW (Netto) +Bio-HKW II: 5 MW (Netto)",FUG Fernwärme Ulm GmbH,"!548.3968335509.965917548° 23′ 48,6″ N, 009° 57′ 57,3″ O48.3968333333339.9659166666667" +Heizkraftwerk Uelzen,47,?,"Steinkohle +Erdgas +Biogas",Uelzen,Niedersachsen Niedersachsen,1965/69/92,,"40 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik","Nordzucker AG, Werk Uelzen","52° 58' 40.5"" N, 010° 33' 25.2"" O" +Heizkraftwerk Unterbreizbach,ca. 20,?,Erdgas,Unterbreizbach,Thüringen Thüringen,1995,,"20 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Kalibergbau",K+S AG, +PKV-Kraftwerk,ca. 65,?,"Erdgas +Biogas",Varel,Niedersachsen Niedersachsen,"GuD-Block 5: 1989 +GuD-Block 6: 1998 +BHKW: 2006 +GuD-Block 8: 2008 +KWK-Block 10: 2021",,"Dampfsammelschienen KWK-Anlage +Letzte Modernisierung 2021 +4 Gasturbinen, 4 Kessel, 4 Dampfturbinen zuzüglich 1 Kessel in Kaltreserve +Elektrische Leistung 63 MW +Feuerungswärmeleistung 360 MW +2 Biogasmotoren +Elektrische Leistung 2 MW +Feuerungswärmeleistung 5 MW + + +Eigenstrom- und Dampfversorgung der örtlichen Papier- und Kartonfabrik",Papier- und Kartonfabrik Varel GmbH & Co. KG, +Kraftwerk Völklingen/Fenne,508 (davon 466 Kohle und 42 Grubengas),437,"Steinkohle +Grubengas",Völklingen,Saarland Saarland,"Fenne I: 1924 +Fenne II: 1962 +Fenne III: 1967 +MKV: 1982 +HKV: 1989 +Grubengaskraftwerk: 2003","Fenne I: 1971 +Fenne II: 1989 +Fenne III: 1996 +MKV: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG +HKV: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG","Fenne I: ca. 50 MW (Netto) +Fenne II: ca. 140 MW (Netto) +Fenne III: ca. 155 MW (Netto) +MKV: 179 MW (Netto) +HKV: 211 MW (Netto) +Grubengaskraftwerk: 42 MW (Netto)",Steag GmbH,"!549.2495785506.881444549° 14′ 58,5″ N, 006° 52′ 53,2″ O49.2495777777786.8814444444444" +Kraftwerk Wählitz,37,40,Braunkohle,Hohenmölsen,Sachsen-Anhalt Sachsen-Anhalt,1994,0!(2038 spätestens),31 MW (Netto),Mitteldeutsche Braunkohlengesellschaft mbH,"51° 10' 0.646 N, 012° 4' 34.068"" O" +Kraftwerk Walheim,"410 +(davon 143 Heizöl und 267 Steinkohle)",0,"Steinkohle: Blöcke 1, 2 +Öl (Heizöl): GT D",Walheim,Baden-Württemberg Baden-Württemberg,"Block 1: 1964/1989/2011 +Block 2: 1967/1989/2011 +GT D: 1981","2019!Block 1: 2013 (Netzreserve) +Block 2: 2013 (Netzreserve)","Block 1: 96 MW (Netto) +Block 2 148 MW (Netto) +GT D: 136 MW (Netto)",EnBW Energie Baden-Württemberg AG,"!549.0184395509.157331549° 01′ 06,4″ N, 009° 09′ 26,4″ O49.0184388888899.1573305555556" +Kraftwerk Waltenhofen-Veits,ca. 35,0,Mineralölprodukte,Waltenhofen-Veits,Bayern Bayern,"SKW Diesel: 1978 +SKW GT: 1988",,"SKW Diesel: 11 MW (Netto) +SKW GT: 24 MW (Netto)",Allgäuer Überlandwerke GmbH, +Heizkraftwerk Wedel,"392 +(davon 290 Steinkohle und 102 Heizöl)",423,"Steinkohle: Blöcke 1, 2 + +Heizöl: GT A, B",Wedel,Schleswig-Holstein Schleswig-Holstein,"Block 1: 1961/88/93 +Block 2: 1962/89/93 +GT A: 1972 +GT B: 1972","2022!(Block 1: 2024) +(Block 2: 2024)","Block 1: 137 MW (Netto) +Block 2: 123 MW (Netto) +GT A: 51 MW (Netto) +GT B: 51 MW (Netto)","Steinkohleblöcke: Vattenfall Europe Wärme AG +Gasturbinen: Vattenfall Hamburg Wärme GmbH","!553.5664585509.725594553° 33′ 59,2″ N, 009° 43′ 32,1″ O53.5664583333339.7255944444444" +Gemeinschaftskraftwerk Weig,ca. 55,?,"Erdgas: Blöcke 1, 3, 4 +Reststoffe aus der Papierherstellung: Block 3",Mayen,Rheinland-Pfalz Rheinland-Pfalz,"Block 1: 1992 +Block 2: 2013 +Block 3: 1992 +Block 4: 1971",Block 4: (Kaltreserve),"Block 1: 11 MW (Netto) +Block 2: 27 MW (Netto) +Block 3: 10 MW (Netto) +Block 4: 8 MW (Netto)",Moritz J. Weig GmbH & Co. KG, +Kraftwerk Weiher,724,30,Steinkohle,Quierschied,Saarland Saarland,"Block I: 1943/44 +Block II: 1963/64 +Block III: 1976/2006","Block I: 1973 +Block II: 1999/2001 +Block III: (Netzreserve)","Block I: ca. 100 MW (Netto) +Block II: ca. 275 MW (Netto) +Block III: 656 MW (Netto)",Steag GmbH,"!549.3347865507.035514549° 20′ 05,2″ N, 007° 02′ 07,9″ O49.3347861111117.0355138888889" +Industriekraftwerk Weißenborn,ca. 20,?,Erdgas,Weißenborn,Sachsen Sachsen,1997,,"19 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Spezialpapier-Fabrik",Schoeller Technocell GmbH & Co KG, +Kraftwerk Weisweiler,"2698 (davon 2119 Braunkohle, 544 Gas und 35 Müll)",183,"Braunkohle: Blöcke A, B, C, D, E, F, G, H +Klärschlamm: Blöcke E, F +Erdgas: Blöcke VGT G, VGT H",Eschweiler,Nordrhein-Westfalen Nordrhein-Westfalen,"Block A: 1955 +Block B: 1955 +Block C: 1955 +Block D: 1959 +Block E: 1965 +Block F: 1967 +Block G: 1974 +Block H: 1975 +Block VGT G: 2006 +Block VGT H: 2006 +Müllverbrennungs-anlage auf dem Gelände: 1996","2030! +Block A: vor 2010 +Block B: vor 2010 +Block C: 2012 +Block D: 2012 +(Block E: 31. Dezember 2021 oder 1. April 2022) +(Block F: 1. Januar 2025 spätestens) +(Block G: 1. April 2028 spätestens) +(Block H: 1. April 2029 spätestens) +(Block VGT G: um 2030) +(Block VGT H: um 2030)","Block A: ca. 90 MW (Netto) +Block B: ca. 90 MW (Netto) +Block C: 123 MW (Netto) +Block D: 135 MW (Netto) +Block E: 321 MW (Netto) +Block F: 321 MW (Netto) +Block G: 590 MW (Netto), mit VGT 663 MW (Netto) +Block H: 590 MW (Netto), mit VGT 656 MW (Netto) +Block VGT G: 200 MW (Netto) +Block VGT H: 200 MW (Netto) +MVA: 27 MW (Netto) + + +Platz 7 – mit ~14,5 Mio. Jahrestonnen CO2 – auf der Liste der Kraftwerke mit dem höchsten CO2-Ausstoß in der EU.",RWE Power AG,"!550.8392065506.323856550° 50′ 21,1″ N, 006° 19′ 25,9″ O50.8392055555566.3238555555556" +Kraftwerk Werdohl-Elverlingsen,220,0,"Steinkohle: Blöcke E3, E4 +Heizöl: Blöcke E1, E2",Werdohl,Nordrhein-Westfalen Nordrhein-Westfalen,"Block E1: 1975 +Block E2: 1975 +Block E3: 1971 +Block E4: 1982","0! +Block E1: 2017 (Kaltreserve) +Block E2: 2017 (Kaltreserve) +Block E3: 2014 +Block E4: 2018","Block E1: 103 MW (Netto) +Block E2: 103 MW (Netto) +Block E3: 186 MW (Netto) +Block E4: 310 MW (Netto)",Mark-E AG,"!551.2764745507.705142551° 16′ 35,3″ N, 007° 42′ 18,5″ O51.2764747.705142" +Gersteinwerk,1393,0,"Steinkohle: Block K2 + +Erdgas: Blöcke F1, F2, G1, G2, H1, H2, I1, I2, K1",Werne,Nordrhein-Westfalen Nordrhein-Westfalen,"VGT F1: 1973 +DT F2: 1973 +VGT G1: 1973 +DT G2: 1973 +VGT H1: 1973 +DT H2: 1973 +VGT I1: 1973 +DT I2: 1973 +VGT K1: 1984 +DT K2: 1984","2021!(VGT F1: 2021) +DT F2: 2020 (Kapazitätsreserve) +(VGT G1: 2021) +DT G2: 2020 (Kapazitätsreserve) +VGT H1: 2018 +DT H2: vor 2010 +DT I2: 2012 (Kaltreserve) +DT K2: 2019","VGT F1: 55 MW (Netto) +DT F2: 355 MW (Netto) +VGT G1: 55 MW (Netto) +DT G2: 355 MW (Netto) +VGT H1: 55 MW (Netto) +DT H2: 355 MW (Netto) +VGT I1: 55 MW (Netto) +DT I2: 355 MW (Netto) +VGT K1: 112 MW (Netto) +DT K2: 614 MW (Netto) +Gas-Block L mit max. 1300 MW in Planung",RWE Generation SE,"!551.6735535507.720633551° 40′ 24,8″ N, 007° 43′ 14,3″ O51.6735527777787.7206333333333" +Industriekraftwerk Wesseling,168,?,"Mineralölprodukte: Block D210 +Erdgas: Block D290 +Braunkohle: Kessel 5",Wesseling,Nordrhein-Westfalen Nordrhein-Westfalen,"D 210: 1962 +D 290: 1996 +Kessel 5: 1995",(Braunkohleverstromung: 2038 spätestens),"D 210: 90 MW (Netto) +D 290: 52 MW (Netto) +Kessel 5: ? MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark",Basell Polyolefine GmbH, +Heizkraftwerk Wiesengrund,ca. 25,?,"Erdgas +Heizöl",Eisenach,Thüringen Thüringen,1993,,22 MW (Netto),Opel Automobile GmbH, +Kraftwerk Wilhelmshaven (Uniper),844 (davon 788 Steinkohle und 56 Heizöl),0,"Steinkohle: Block 1 +Heizöl: GT",Wilhelmshaven,Niedersachsen Niedersachsen,"Block 1: 1976/98 +GT: 1973","Block 1: Vermarktungsverbot ab 01.12.2021 gemäß KVBG +(2022 geplant)","Block 1: 757 MW (Netto) +GT: 56 MW (Netto) +von hier wird das Luftspeicher-Gasturbinen-Kraftwerk Huntorf ferngesteuert.",Uniper Kraftwerke GmbH,"!553.5645565508.146389553° 33′ 52,4″ N, 008° 08′ 47,0″ O53.5645555555568.1463888888889" +Kraftwerk Wilhelmshaven (Onyx),830,0,Steinkohle,Wilhelmshaven,Niedersachsen Niedersachsen,Block 1: 2015,,Block 1: 731 MW (Netto),Onyx Power Group,"!553.5658145508.146239553° 33′ 56,9″ N, 008° 08′ 46,5″ O53.5658138888898.1462388888889" +Kraftwerk Wiesbaden-Biebrich (Industriepark Kalle Albert),ca. 35,?,"Erdgas und Klärgas: Block 1 +Altholz: Block 2",Wiesbaden-Biebrich,Hessen Hessen,"Block 1: 2006 +Block 2: 2003 +(GuD: 2021)",(Block 2: voraussichtlich 2021),"Block 1: 23 MW (Netto), +Block 2: 7 MW (Netto) +Eigenstrom- und Dampfversorgung für den örtlichen Chemiepark +(Erweiterung um zwei GuD mit insgesamt ca. 50 MWel im Bau)",Infraserv GmbH & Co. Wiesbaden KG, +Gaskraftwerk Witzenhausen,ca. 45 (davon ca. 15 Erdgas und ca. 30 EBS),?,"Erdgas, Biogas: Erdgasblock +EBS, Heizöl: EBS-Block",Witzenhausen,Hessen Hessen,"Erdgasblock: 1990 +EBS-Block: 2009",,"Erdgasblock: 13 MW (Netto) +EBS-Block: 28 MW (Netto) +Eigenstrom- und Dampfversorgung für die örtliche Papierfabrik","Erdgasblock: DS Smith Paper Deutschland GmbH +EBS-Block: B+T Energie GmbH", +Spitzenlastkraftwerk Wolfen,ca. 42,0,Erdgas,Wolfen,Sachsen-Anhalt Sachsen-Anhalt,1997,,40 MW (Netto),envia THERM GmbH, +Heizkraftwerk Wolfsburg Nord,140,755,"Steinkohle +Heizöl +Erdgas +EBS (Altöl, Lackgranulate)",Wolfsburg,Niedersachsen Niedersachsen,"Block A: 1959/2000 +Block B: 1959/2000","2021! +(Block A: 2021/2022) + +(Block B: 2021/2022)","Block A: 62 MW (Netto) +Block B: 62 MW (Netto) +Eigenstrom- und Prozesswärme/-kälte- sowie Druckluftversorgung für das VW-Werk und die Autostadt, Fernwärmeauskopplung für die Stadt Wolfsburg, +Steinkohleblöcke sollen durch ein GuD-Kraftwerk mit 136 MWel und 386 MWth ersetzt werden",Volkswagen Kraftwerk GmbH,"!552.4325005510.786944552° 25′ 57,0″ N, 010° 47′ 13,0″ O52.432510.786944444444" +Heizkraftwerk Wolfsburg West,306,277,Steinkohle,Wolfsburg,Niedersachsen Niedersachsen,"Block 1: 1985 +Block 2: 1985","2021! +(Block 1: 2021/2022) + +(Block 2: 2021/2022)","Block 1: 139 MW (Netto) +Block 2: 139 MW (Netto) +Steinkohleblöcke sollen durch ein GuD-Kraftwerk mit 288 MWel und 265 MWth ersetzt werden",Volkswagen Kraftwerk GmbH,"!552.4419445510.764167552° 26′ 31,0″ N, 010° 45′ 51,0″ O52.44194444444410.764166666667" +Industriekraftwerk Worms,ca. 12,?,Erdgas,Worms,Rheinland-Pfalz Rheinland-Pfalz,1991,,"12 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen Chemieparks",Grace GmbH, +Blockheizkraftwerk Wörth,ca. 13,ca. 15,Erdgas,Wörth am Rhein,Rheinland-Pfalz Rheinland-Pfalz,2013,,"13 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen LKW-Fabrik",Daimler AG, +Heizkraftwerk Wörth,62,55,"Erdgas +Reststoffe aus der Papierherstellung",Wörth am Rhein,Rheinland-Pfalz Rheinland-Pfalz,2007,0!,"59 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik; +soll um einen weiteren Block erweitert werden",Palm Power GmbH & Co. KG,"49° 2' 43.127"" N, 008° 17' 4.121"" O" +Industriekraftwerk Wuppertal,2,19,Braunkohle bis 2020 / ab 2020 100 % Erdgas,Wuppertal,Nordrhein-Westfalen Nordrhein-Westfalen,2011,Von 2018 bis 2020 auf Erdgas umgestellt,"? MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Tapetenfabrik",WSW Energie & Wasser AG; Erfurt & Sohn KG, +Heizkraftwerke Würzburg an der Friedensbrücke,125,215 (ca. 100 MWh Wärmespeicher geplant),Erdgas,Würzburg,Bayern Bayern,"GT I: 2005 +GT II: 2009 +TS II: 1993 +TS III: 1971",0!,"GT I: 45 MW (Netto) +GT II: 30 MW (Netto) +TS II: 25 MW (Netto) +TS III: 23 MW (Netto)",Heizkraftwerke Würzburg GmbH,"!549.7999445509.923278549° 47′ 59,8″ N, 009° 55′ 23,8″ O49.7999444444449.9232777777778" +Kraftwerk Zeitz,70 (davon 45 Braunkohle und 25 Erdgas),?,"Braunkohle: Blöcke 1 und 2 +Erdgas: Block 3",Zeitz,Sachsen-Anhalt Sachsen-Anhalt,"Block 1: 1993 +Block 2: 1993 +Block 3: 2005","0!(Block 1: 2038 spätestens) +(Block 2: 2038 spätestens)","Block 1: 23 MW (Netto) +Block 2: 18 MW (Netto) +Block 3: 23 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zucker- und Ethanolfabrik","Block 1 und 3: Südzucker AG +Block 2: CropEnergies Bioethanol GmbH Zeitz","51° 03' 07.1"" N, 012° 06' 37.9"" O" +Industriekraftwerk Zielitz,ca. 30,?,Erdgas,Zielitz,Sachsen-Anhalt Sachsen-Anhalt,1996/2010,,"27 MW (Netto) +Eigenstrom- und Dampfversorgung des Kaliwerkes Zielitz",K+S AG, +Kraftwerk Zolling,"572 (davon 501 Steinkohle, 21 Biomasse und 50 Heizöl)","180 +(400 MWh Wärmespeicher)","Steinkohle: Blöcke 1, 2, 3, 4, 5 +Klärschlamm: Block 5 +Heizöl: GT 1, 2 +Biomasse: Block 6",Zolling,Bayern Bayern,"Block 1: 1958 +Block 2: 1961 +Block 3: 1964 +Block 4: 1966 +Block 5: 1986/2011 +Block 6: 2003 +GT 1: 1976 +GT 2: 1976","0!Block 1: 1982 +Block 2: 1984 +Block 3: 1987 +Block 4: 1987","Block 1: 38 MW (Netto) +Block 2: 48 MW (Netto) +Block 3: 71 MW (Netto) +Block 4: 97 MW (Netto) +Block 5: 472 MW (Netto) +Block 6: 20 MW (Netto) +GT 1: 25 MW (Netto) +GT 2: 25 MW (Netto) +über Gasturbine schwarzstartfähig",Onyx Power Group,"!548.4552925511.799514548° 27′ 19,1″ N, 011° 47′ 58,3″ O48.45529166666711.799513888889" +Industriekraftwerk Zülpich,ca. 40,?,"Erdgas: K06 +Braunkohle: GKW +Biogas: GKW +Reststoffe aus der Altpapieraufbereitung: GKW",Zülpich,Nordrhein-Westfalen Nordrhein-Westfalen,"K06: 1964 +GKW: 1996","Braunkohleverstromung: Vermarktungsverbot ab 31. Oktober 2022 gemäß KVBG, wird auf Erdgas umgerüstet","K06: 20 MW (Netto) +GKW: 15 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Papierfabrik",Smurfit Kappa Zülpich Papier GmbH, +Industriekraftwerk Zuckerfabrik Anklam,17,?,Erdgas,Anklam,Mecklenburg-Vorpommern Mecklenburg-Vorpommern,1993,,"15 MW (Netto) +Eigenstrom- und Dampfversorgung der örtlichen Zuckerfabrik",Suiker Unie GmbH & Co. KG, +Industriekraftwerk Zwickau,ca. 15,?,Erdgas,Zwickau,Sachsen Sachsen,2014,,"13 MW (Netto) +Eigenstrom- und Dampfversorgung des örtlichen VW-Werks",Volkswagen Sachsen GmbH, diff --git a/research/coal_consumption/smard_api.py b/research/coal_consumption/smard_api.py new file mode 100644 index 00000000..540065b4 --- /dev/null +++ b/research/coal_consumption/smard_api.py @@ -0,0 +1,168 @@ +from datetime import datetime + +import matplotlib.pyplot as plt +import pytz +import requests + + +class DataProvider: + """This class can load data from the smard API in a more convinient + way then using the raw API. It also caches data to circumvent + rate limiting. + """ + + @staticmethod + def timestamp_to_dt(timestamp: int) -> datetime: + """Convert smard timestamp to datatime object + + :param timestamp: The smard timestamp (Unix timestamp * 1000) + :return: A datetime object + """ + return datetime.fromtimestamp( + timestamp / 1000, tz=pytz.timezone("Europe/Berlin") + ) + + RESOLUTION: str = "quarterhour" + FILTER: str = "1223" # Braunkohle + REGION: str = "50Hertz" + BASE_URL: str = f"https://www.smard.de/app/chart_data/{FILTER}/{REGION}" + + _available_index_timestamps: list[int] + _loaded_data: list[tuple[datetime, float]] + _loaded_data_index_timestamps: set[int] + + def __init__(self): + """Initializer for DataProvider""" + self._available_index_timestamps = [] + self._loaded_data = [] + self._loaded_data_index_timestamps = set() + self._load_index_timestamps() + + def _load_index_timestamps(self) -> list[int]: + """Loads all index timestamps from the API""" + url = f"{self.BASE_URL}/index_{self.RESOLUTION}.json" + response = requests.get(url, headers={"Accept": "application/json"}) + self._available_index_timestamps = response.json()["timestamps"][1:] + + def _load_data(self, index_timestamp: int): + """Loads data in the file referenced by index_timestamp from + the API and caches it. + """ + url = f"{self.BASE_URL}/{self.FILTER}_{self.REGION}_{self.RESOLUTION}_{index_timestamp}.json" + response = requests.get(url, headers={"Accept": "application/json"}) + result = response.json()["series"] + + if index_timestamp != self._available_index_timestamps[-1]: + self._loaded_data_index_timestamps.add(index_timestamp) + + for timestamp, value in result: + self._loaded_data.append((self.timestamp_to_dt(timestamp), value)) + + self._loaded_data.sort(key=lambda x: x[0]) + + def _start_index(self, start: datetime) -> int: + """Computes the index into the _available_index_timestamps where start lies in""" + return max( + self._available_index_timestamps.index( + [ + timestamp + for timestamp in self._available_index_timestamps + if start <= self.timestamp_to_dt(timestamp) + ][0] + ) + - 1, + 0, + ) + + def _end_index(self, end: datetime) -> int: + """Computes the index into the _available_index_timestamps where start lies in""" + return min( + self._available_index_timestamps.index( + [ + timestamp + for timestamp in self._available_index_timestamps + if self.timestamp_to_dt(timestamp) <= end + ][-1] + ) + + 1, + len(self._available_index_timestamps) - 1, + ) + + def _start_iteration_index(self, start: datetime) -> int: + """Computes the index into _loaded_data to start from + when you want to start iterating over it given the start datetime + """ + return [ + i for i in range(len(self._loaded_data)) if self._loaded_data[i][0] >= start + ][0] + + def _load_data_between(self, start: datetime, end: datetime): + """Loads all data between the given datetime into the cache""" + start_index = self._start_index(start) + end_index = self._end_index(end) + for index_timestamp in self._available_index_timestamps[ + start_index : end_index + 1 + ]: + if index_timestamp in self._loaded_data_index_timestamps: + continue + self._load_data(index_timestamp) + + def data_available( + self, start: datetime, end: datetime + ) -> tuple[bool, tuple[datetime | None, datetime | None]]: + """Checks if data is available in the given interval and returns True if so. + It also returns the interval for which data is available. This is useful + if data is only available for a queried subinterval. + """ + if end < start: + return False, (None, None) + self._load_data_between(start, end) + found_start = None + found_end = None + for idx in range(self._start_iteration_index(start), len(self._loaded_data)): + dt, value = self._loaded_data[idx] + if dt > end: + return True, (found_start, found_end) + if value: + found_start = dt if not found_start else found_start + else: + return ( + (True, (found_start, found_end)) + if found_end + else (False, (None, None)) + ) + found_end = dt + + return True, (found_start, found_end) + + def get_data(self, start: datetime, end: datetime) -> list[tuple[datetime, float]]: + """Returns data for the queried interval.""" + available, (start, end) = self.data_available(start, end) + if not available: + return [] + start_iteration_index = self._start_iteration_index(start) + return [ + self._loaded_data[i] + for i in range( + start_iteration_index, len(self._loaded_data) # - start_iteration_index + ) + if self._loaded_data[i][0] <= end + ] + + +start = datetime(2023, 4, 1, 0, 0, 0, tzinfo=pytz.timezone("Europe/Berlin")) +end = datetime(2023, 4, 3, 23, 59, 59, tzinfo=pytz.timezone("Europe/Berlin")) +data_provider = DataProvider() +is_availabe, (start, end) = data_provider.data_available(start, end) +print(start) +print(end) +electricity_production = data_provider.get_data(start, end) + +time = [dt for dt, _ in electricity_production] +electricity = [value for _, value in electricity_production] + +plt.plot(time, electricity, "r") +plt.xlabel("Time") +plt.ylabel("Electricity production in MWh") +plt.xticks(rotation=45) +plt.show()