kwdseymour / EuroSAFs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Description

This repository provides a tool to evaluate the minimum cost of fuel producation at sites throughout Europe using a botoom-up plant modeling approach in which technical and financial assumptions are combined with wind & solar resource data. The minimum cost is obtained via an optimization problem in which the cheapest plant configuration is determined by selecting component sizes and defining hourly operation (energy & mass flows).

Setup

The environments.yml file can be used to set up a working Python environment for the scripts in the repository. A Gurobi license must be obtained in order to run the optimization process.

Core functionality

At the heart of the repository is the plant_optimization module, which contains the plant optimizer classes and function. A simple use case is as follows:

import plant_optimization as plop

# Define the evaluation country
country = "Austria"

# Define the plant evaluation location coordinates
location = (47.0, 9.375)

# Initialize a Site object, which extracts and contains the hourly wind & PV power output for the given location
site = plop.Site(location,country,offshore=False)

# Initialize a Plant object, which extracts and contains:
# - the plant parameters (costs, efficiencies, operation constraints, etc.) according to the provided year
# - the given Site object
plant = plop.Plant(site,year=2020)

# Run the plant optimizer, which saves the solution to the Plant object
pop.optimize_plant(plant)

Divide each country into a grid of evaluation nodes.

Inputs

A shapefile with countaining country borders is required for the script. It is available in the data folder: data/Countries_WGS84.

Ouputs

Found in the data/Countries_WGS84/processed folder, the resulting files contain the country grids in various forms. These determine the locations in which wind speed and PV output data are collected and the plant optimization takes place.

Download wind speed data at each evaluation node from NASA's MERRA-2 reanalysis data API. An Earthdata account is required to download data and the credentials should be stored in the config file. An account can be created here.

Outputs

For each country given, the nearest MERRA point is identified and the hourly data for all points in each day of 2016 is downloaded to a file in a folder named according to the country.

alt text

alt_text

alt_text

About


Languages

Language:Jupyter Notebook 99.2%Language:Python 0.8%