GithubHelp home page GithubHelp logo

pscopf's People

Contributors

adrienmarechal avatar azized avatar eleonore-kaplan avatar fredbvn avatar klorel avatar payementcha avatar

Watchers

 avatar

pscopf's Issues

Use initial and final commitment states

The input file pcopf_units.txt should have a second column describing the final state of each unit. This will enable a better counting of units' start, which have a cost. Besides, this should avoid using stopping binaries in the different optimization problems, as only starts have a cost.

Automatic creation of output folders

Functions writing output files should have a by default folder to create and to fill in with files, preferably inside the input folder to better link them.

Besides, if the specified output folder does not exist, it should be created.

Adapt optimization problem accuracy

Production schedules are currently determined with a useless accuracy. An accuracy of 0.5MW should be more than enough, while enabling better performances.

Add consumptions in output files

As electricity consomptions can be modified by the market (délestage), they should also be present in output files. In particular, this calls for adding a bus_id column in market_schedule.txt.

Change name of package PSCOPF

The PSCOPF is actually a small part of the tool that is developed here. A more appropriate name for the package is needed to avoid unnecessary confusion. For example, it could be DANSE, for Demand and supply balance And Network Synchronisation study Environment.

Merge input and output files according to primary key

In order not to duplicate information and display it more efficiently, the number of input files should be reduced by merging them according to their primary key. Same for output files.

For example, input files pscopf_init.txt and pscopf_units.txt should be merged. Same for output files market_commitment_schedule.txt and market_schedule.txt.

Enable simulating only one node

A network consisting of only one node (or bus_id) makes the program crash. For testing mainly, it should be possible to simulate such network.

Use .csv input files

In order to more easily modify input data and display it in spreadsheet tools, .csv files may be more efficient (without performance losses) than the current format, which causes several problems especially because of the initial #.

Redundancy between bus_name and bus_num.

bus_name and bus_num both characterize exactly a given bus. Same goes for branch_name, branch_num, and bus_from/bus_to.

I would only keep bus_num for buses, and bus_from/bus_to from branches.

Problems with DMO shorter than max time horizon

When the DMO is larger than the time horizon, the given unit commitment is entirely determined by the initial state given in input file pscopf_init.txt.

For example, if the unit is off at the beginning, it cannot be turned on. If it is on, the unit can be turned off at any time, but not turned on again, at further time or time horizons.

Regroup consumptions, wind and pv power by node

It is irrelevant to consider several consumptions, or wind or pv power plants at each node. Consequently, input files should incorporate the fact that there can only be one consumption, or wind, or pv power plant at each node. Also, in output files, those productions should be characterized by a specific common name (for example, conso/wind/pv) and a bus_id (or node).

Ambiguous variable : network

In the code, network is defined as the result of the functions :
network = PTDF.read_network(input_path)
network = PSCOPF.Data.pscopfdata2network(input_path)

However, those are two different objects, and therefore their name should indicate more accurately what they are.

Add missing market time horizon

Currently, the market only works for 4h and 1h time horizons (échéance in French). It should also work, with the same algorithm, for other time horizons, including 30min and 15min time horizons, where productions schedules are being determined.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.