Coder Social home page Coder Social logo

etsap-times / times_model Goto Github PK

View Code? Open in Web Editor NEW
95.0 9.0 35.0 1.48 MB

The Integrated MARKAL-EFOM System (TIMES) - a bottom-up optimization model for energy-environment systems

Home Page: https://iea-etsap.org/

License: GNU General Public License v3.0

GAMS 100.00%
energy-system-model optimization-model gams integrated-markal-efom bottom-up-model times

times_model's Introduction

GNU General Public LicenseThis work is licensed under a GNU General Public License.

TIMES_model

The Integrated MARKAL-EFOM System (TIMES) – a bottom-up optimization model for energy-environment systems.

The TIMES (The Integrated MARKAL-EFOM System) model generator was developed by ETSAP the Energy Technology Systems Analysis Program, which is a Technology Cooperation Program of the International Energy Agency. ETSAP is an international community which uses long term energy scenarios to conduct in-depth energy and environmental analyses. The TIMES model generator combines two different, but complementary, systematic approaches to modelling energy: a technical engineering approach and an economic approach. TIMES is a technology rich, bottom-up model generator, which uses linear-programming to produce a least-cost energy system, optimized according to a number of user constraints, over medium to long-term time horizons. In a nutshell, TIMES is used for, "the exploration of possible energy futures based on contrasted scenarios".

Model structure

TIMES models encompass all the steps from primary resources through the chain of processes that transform, transport, distribute and convert energy into the supply of energy services demanded by energy consumers. On the energy supply-side, it comprises fuel mining, primary and secondary production, and exogenous import and export. The “agents” of the energy supply-side are the “producers”. Through various energy carriers, energy is delivered to the demand-side, which can be structured sectorally into residential, commercial, agricultural, transport and industrial sectors. The demand sector breakdwon is completely flexible and adaptable in TIMES. The “agents” of the energy demand-side are the “consumers”. The mathematical, economic and engineering relationships between these energy “producers” and “consumers” is the basis underpinning TIMES models.

Scenarios

The principle insights generated from TIMES are achieved through scenario analysis. A reference energy scenario is generated first by running the model in the absence of any policy constraints. These results from the reference scenario are not normally totally aligned to national energy forecasts (generated by simulating future energy demand and supply), mainly because TIMES optimizes the energy systems providing a least cost solution. A second scenario is then established by imposing a (single of many) policy constraint on the model (e.g. minimum share of renewable energy, maximum amount of GHG emissions or minimum level of energy security) and the model generates a different least cost energy system with different technology and fuel choices. When the results are compared with those from the reference scenario, the different technology choices can be identified that deliver the policy constraint at least cost.

Functionality

Once all the inputs, constraints and scenarios have been put in place, the model will attempt to solve and determine the energy system that meets the energy service demands over the entire time horizon at least cost. It does this by simultaneously making equipment investment decisions and operating, primary energy supply, and energy trade decisions, by region. TIMES assumes perfect foresight, which is to say that all investment decisions are made in each period with full knowledge of future events (myopic runs of the model are also possible). It optimizes horizontally (across all sectors) and vertically (across all time periods for which the limit is imposed). The results will be the optimal mix of technologies and fuels at each period, together with the associated emissions to meet the demand. The model configures the production and consumption of commodities (i.e. fuels, materials, and energy services) and their prices; when the model matches supply with demand, i.e. energy producers with energy consumers, it is said to be in equilibrium. Mathematically, this means that the model maximizes the producer and consumer surplus. The model is set up such that the price of producing a commodity affects the demand for that commodity, while at the same time the demand affects the commodity’s price. A market is said to have reached an equilibrium at prices p and quantities q when no consumer wishes to purchase less than q and no producer wishes to produce more than q at price p. When all markets are in equilibrium the total economic surplus is maximized (i.e. the sum of producers’ and consumers’ surpluses). The main output TIMES are energy system configurations, which meet the end-use energy service demands at least cost while also adhering to the various constraints (e.g 80% emissions reduction, 40% renewable electricity penetration). In the first instance, TIMES model addresses the question: is the target feasible? If an energy system is possible, it can then be examined, at what cost? The model outputs are energy flows, energy commodity prices, GHG emissions, capacities of technologies, energy costs and marginal emissions abatement costs.

Documentation Documentation

Detailed documentation is available on ETSAP's website:

i) Concept and Theory. ii) Comprehensive Reference Manual. iii) Operation of TIMES code.

TIMES Demo Demo model

A Demo model is available on GitHub.

Community

Information on the activities of ETSAP are available on ETSAP's website.

If you are interested in receiving information and newsletters on ETSAP's tool you can register here.

A forum for TIMES users is available.

DOI

times_model's People

Contributors

antti-l avatar ggiannakidis avatar olejandro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

times_model's Issues

getting started

I cloned the repo, unpacked the zip archive, and started gams with gams maindrv.mod as well gams maindrv.mod r=_times in both cases I get

--- maindrv.mod(23) 2 Mb
--- . setglobs.gms(59) 2 Mb
--- maindrv.mod(43) 2 Mb
***
*** Abort "*** ERRORS IN INPUT DATA/COMPILE ***"
--- maindrv.mod(43) 3 Mb 2 Errors
*** Status: Compilation error(s)
--- Job maindrv.mod Stop 01/21/20 08:17:59 elapsed 0:00:00.018

The first error is about a set j:

 572  SET SOLVESTAT(J) /
****                $120

I did not find a short description how to get the model to run with GAMS. Can someone point me to something like a (quick start) guide.

BTW, for git and pull requests it might be much better to have the source files directly in the repo rather than the source files in a zip archive.

saving a copy of _dd_.gdx

In prepxtra.mod a put_utility 'shell' is used to rename the _dd_.gdx file and store it in a different location with a file name that contains some kind of time stamp. This saving of the _dd_.gdx which is created and handled at compile time is done at execution time. Due to GAMS save/restart capabilities the compile and execution phase can happen at very different times and even on different machines. It would be cleaner if the saving of this file is done in the compilation phase of GAMS.

LICENSE.txt recognised as unknown license by GitHub

@robbiemorrison pointed out elsewhere that Github doesn't seem to recognise the license under which TIMES is released. Since then something has changed (?) and Github now shows both an unknown (for LICENSE.txt) and GPL-3.0 (for COPYING.txt) licenses.
@Antti-L , @ggiannakidis, as far as I understand LICENSE.txt contains both a copyright and a license notice, while the license itself is in COPYING.txt. @Antti-L I guess, LICENSE.txt is also used for the startup notice? Do you think LICENSE.txt should be renamed or the notices it contains should be included elsewhere?

file SCREEN with filename CON

In err_stat.mod the file SCREEN uses file name CON to write to the console. I guess the intention on the SCREEN file is to write messages from TIMES to the GAMS log. This works okay on Windows with lo=1 (the current default). A much better way is to use the empty string as a file name (FILE SCREEN / '' /;). This works platform independent and writes to the GAMS log independent of if this goes to con or /dev/tty, stdout, or a log file.

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.