UA-MD availability matrix: plot shape_availability

This commit is contained in:
Fabian Neumann 2023-10-09 16:21:04 +02:00
parent 27ebbaba24
commit 42692c3ca5
2 changed files with 12 additions and 0 deletions

View File

@ -237,6 +237,7 @@ rule determine_availability_matrix_MD_UA:
+ ".nc", + ".nc",
output: output:
availability_matrix=RESOURCES + "availability_matrix_MD-UA_{technology}.nc", availability_matrix=RESOURCES + "availability_matrix_MD-UA_{technology}.nc",
availability_map=RESOURCES + "availability_matrix_MD-UA_{technology}.png",
log: log:
LOGS + "determine_availability_matrix_MD_UA_{technology}.log", LOGS + "determine_availability_matrix_MD_UA_{technology}.log",
threads: ATLITE_NPROCESSES threads: ATLITE_NPROCESSES

View File

@ -10,8 +10,11 @@ import time
import atlite import atlite
import fiona import fiona
import geopandas as gpd import geopandas as gpd
import matplotlib.pyplot as plt
import numpy as np import numpy as np
from _helpers import configure_logging from _helpers import configure_logging
from atlite.gis import shape_availability
from rasterio.plot import show
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -127,6 +130,14 @@ if __name__ == "__main__":
else: else:
availability = cutout.availabilitymatrix(regions, excluder, **kwargs) availability = cutout.availabilitymatrix(regions, excluder, **kwargs)
regions_geometry = regions.to_crs(3035).geometry
band, transform = shape_availability(regions_geometry, excluder)
fig, ax = plt.subplots(figsize=(4, 8))
gpd.GeoSeries(regions_geometry.unary_union).plot(ax=ax, color="none")
show(band, transform=transform, cmap="Greens", ax=ax)
plt.axis('off')
plt.savefig(snakemake.output.availability_map, bbox_inches="tight", dpi=500)
# Limit results only to buses for UA and MD # Limit results only to buses for UA and MD
buses = regions.loc[regions["country"].isin(["UA", "MD"])].index.values buses = regions.loc[regions["country"].isin(["UA", "MD"])].index.values
availability = availability.sel(bus=buses) availability = availability.sel(bus=buses)