Skip to content
Snippets Groups Projects
Commit d8a0b943 authored by David Radu's avatar David Radu
Browse files

update read.me

parent 36b073e1
No related branches found
No related tags found
No related merge requests found
# resiteIP
# resite_ip
This file provides the information required to set up the integer programming-based __resite__ tool. At this stage, the IP version is not integrated in the broader __resite__ package.
This repository hosts the main development work around `resite_ip`, a tool relying on integer programming to site
renewable generation assets based on various deplyoment criteria.
# Setup
## Setup
This module runs in any 3.x version of Python. The Python packages required to run this module are listed
in the `requirements.yml` file included in the repository. Their installation can be easily achieved via the the following
command that builds a separate environment for this module from the `yml` file:
conda env create -f environment.yml
The code runs in `Python 3.6` or older. In addition, running the code requires installation of `Julia 1.5` or older.
Furthermore, the some of the siting algorithm available in this repository will require a branch-and-bound solver. Currently,
only `gurobi` (with a valid license) is supported.
The tool requires to installation of an MILP solver. At the time of writing, `gurobi` is the only solver this
model supports (see installation details [here](https://www.gurobi.com/documentation/8.1/remoteservices/installation.html)).
# Minimal working example
## Repository structure
This structure of this package is as follows:
* `resite_ip` as a container for:
......@@ -23,17 +19,15 @@ This structure of this package is as follows:
* the `config` files
* auxiliary files required to set up the package
The `data` folder (whose path must be specified in the first line of `config_model.yml`) is provided in a different zenodo-like repository. In order to run the model, the following steps must be taken:
* Ensure input data is available according to the structure provided in the `data` folder
The `data` folder (whose path must be specified in the first line of `config_model.yml`) is needed to instantiate the
model. Currently, the data available covers solely the European continent and is available [here](https://dox.uliege.be/index.php/s/L9jH5aCQdZ7ie4W).
In order to run the model and assuming that this repository has been obtained via `git clone` the following steps must be taken:
* Install all package dependencies listed in the `requirements.yml` file
* Configure run via the `config` files
* Run `python main.py` from the `src` folder
Results of these runs are stored in an `output` directory at the same level as the `data` folder.
# Citing
Please cite the following paper if you use this software in your research.
To be added.
Results of these runs are stored in an `output` directory in the `data` folder.
# License
This software is released as free software under the [GPLv3](http://www.gnu.org/licenses/gpl-3.0.en.html).
......
# Path to data folder
#data_path: 'D:/ULg_PhD_work/datasets/resite_ip/'
data_path: '/data/dcradu/resite_ip/'
data_path: 'path/to/data/'
# Spatial resolution (in degrees) of the potential sites.
spatial_resolution: 0.25
# Start time and end time of the analysis.
# Start time and end time of the analysis
time_slice: ['2010-01-01T00:00', '2019-12-31T23:00']
# Resampling rate of input data (in hours)
resampling_rate: 3
# Technologies to deploy.
# Region (ISO2) to cover within the ERA5 dataset. This key is basically retrieving the shape of the underlying region
# (e.g., if "DE" is given, the shapefile of the German territory is used to identify which ERA5 points fall within)
regions: ['GB', 'NL', 'FR', 'DE', 'DK', 'NO', 'PL', 'IE', 'IT', 'SE', 'FI', 'ES', 'GR', 'PT', 'BE', 'LT', 'LV', 'EE', 'HR']
technologies: ['wind_offshore']
# Technologies to deploy
technologies: ['wind_offshore'] # choose among: 'wind_onshore', 'wind_offshore', 'pv_utility', 'pv_residential'
# Deployment target (GW), list of lists such as [[tech1@region1, tech2@region1], [tech1@region1, tech2@region2], ...]
deployments: [[80], [60], [57], [36], [35], [30], [28], [22], [20], [20], [15], [13], [10], [9], [6], [4], [3], [1], [1]]
# Share of demand to be covered by sited technologies (relevant in defining criticality)
load_coverage: 0.3
siting_params:
# Defines how \alpha is considered in space and time.
alpha:
method: 'load' # 'potentials'
coverage: 'system' # 'partition'
smoothing: 'mean' # 'median'
norm: 'min' # 'max'
# Time-window length used to compute the criticality indicator. Integer value.
method: 'potential' # 'potential' vs 'load'
coverage: 'system' # 'partition' vs 'system'
smoothing: 'mean' # 'median' vs 'mean'
norm: 'min' # 'max' vs 'min'
# Time-window length (any integer value smaller than the length of the time horizon)
delta: 1 # \in \mathbb{N}
# Threshold
c: 0.1 # \in [0, 1]
# Solution method: BB or HEU or RAND or GRED.
# Parameters of the solution method
solution_method:
neighborhood: 1
no_iterations: 2000
......
# Config file for various conversion technologies.
# technology:
# where: 'onshore'/'offshore' - NOT TO BE ALTERED
# filters: filters used to remove candidate locations based on land utilization criteria -
# to choose from ['water_mask', 'bathymetry', 'distance', 'resource_quality', 'forestry',
# 'population_density', 'orography', 'latitude']
# converter_IV: converter to be used for class IV winds - set of available converters available at
# data/transfer_functions/data_wind_turbines.csv
# converter_III: converter to be used for class III winds
# converter_II: converter to be used for class II winds
# converter_I: converter to be used for class I winds
# resource: NOT TO BE ALTERED
# deployment: NOT TO BE ALTERED
# resource_threshold: average wind speed (m/s) under which candidate sites are discarded
# population_density_threshold_low: lower end of population density threshold limit to discard candidate sites
# population_density_threshold_high: upper end of population density threshold limit to discard candidate sites
# depth_threshold_low: lower end of depth threshold limit to discard candidate sites (for offshore)
# depth_threshold_high: upper end of depth threshold limit to discard candidate sites (for offshore)
# altitude_threshold: altitude threshold (in m) limit to discard candidate sites
# terrain_slope_threshold: terrain slope (in %) threshold limit to discard candidate sites
# forestry_ratio_threshold: forestry threshold (in % of cell area) limit to discard candidate sites
# latitude_threshold: latitude threshold limit (in degrees) to discard candidate sites
wind_onshore:
where: 'onshore'
filters: ['resource_quality', 'population_density', 'orography', 'forestry', 'water_mask', 'latitude']
......@@ -96,7 +118,6 @@ pv_utility:
power_density: 5. # MW/sqkm
land_utilization_factor: 0.5
#TODO: fix pv_residential filters
pv_residential:
where: 'onshore'
filters: ['population_density', 'water_mask']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment