Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    n-stolz
    @n-stolz

    Hi everyone,
    I am trying to model the European energy-system using the euro-calliope model. In my project I will run a model in planning mode, followed by a run in "operate mode" with the capacity obtained by the planning run.
    Unfortunately I am running into a pretty annoying issue when trying to run the model in operation mode. The model does not run, as it is unfeasible. Saving the model as a .lp file, I discovered that the issue comes from this biofuel constraint in Italy:

    c_e_balance_supply_plus_constraint(ITAbiofuel_2016_01_01_00_0000):
    +1 carrier_prod(ITA
    biofuelelectricity_2016_01_01_00_00_00)
    -1 resource_con(ITA
    biofuel_2016_01_01_00_00_00)
    +1 storage(ITA__biofuel_2016_01_01_00_00_00)
    = 2058

    I don't know why 2058 is the constraint here, it is zero for all other timesteps of this technology and all other loc_techs.

    If I remove biofuel from Italy, the constraint of biofuel in Slovenia (which was 0 when biofuel was allowed in Italy) changes and makes the model unfeasible again. This time the constraint making the model unfeasible is:

    c_e_balance_supply_plus_constraint(SVNbiofuel_2016_01_02_12_0000):
    +1 carrier_prod(SVN
    biofuelelectricity_2016_01_02_12_00_00)
    -1 resource_con(SVN
    biofuel_2016_01_02_12_00_00)
    +1 storage(SVN__biofuel_2016_01_02_12_00_00)
    = 2932.8656850801376

    After removing biofuel from Slovenia, however, the model runs and produces an output.

    My first thought was that there seems to be an issue with the biofuel technology class or the way I link the constraints to the planning part of the model. But there is still biofuel capacity in other countries which is used in the operation mode and all links between the two models are automized, so the way constraints are implemented must be exactly the same for Italy and Slovenia compared to other locations.

    I hope I described my issue in an comprehensible way, if not please let me know.

    Is this issue familiar to anyone? Does anyone know were I could change anything to not run into this problem?
    I am very confused, because there are 34 locations and around 14 technologies that work and the issue only arises at these two instances.

    I would be incredibly grateful if anyone could give me a hint what is going wrong!

    Many thanks!!

    Francesco Lombardi
    @FLomb

    Hi, I have another question if somebody could help. Is it possible to force a technology to supply or convert the carrier in specific time (for example during the night) ?

    @FAYDI yes, that's possible, particularly for supply techs. You could, for instance, set the resource of the technology as a time series (rather than 'inf', if you have a dispatchable supply plant). The time series should then have: resource = a very high value, or inf, during daylight hours; resource = 0 otherwise

    Rodrigo Amaro e Silva
    @ramaroesilva
    @n-stolz, can't you get the outputs you're looking for from the first "planning" run?personally, I have no experience with the "operation" mode.
    n-stolz
    @n-stolz
    @ramaroesilva I need the production time series and unmet demand time series for every location. Can I get that from the planning run?
    Rodrigo Amaro e Silva
    @ramaroesilva
    yes, I'm sure of this. take a look at the documentation on how to store calliope outputs as .csv or .nc (netcdf)
    n-stolz
    @n-stolz
    @ramaroesilva Thank you very much, I found what I was looking for in the planning model!
    yannick van til
    @Yannickvtil
    Schermafbeelding 2021-06-29 om 09.39.55.png
    Also submitted as an issue on the github:
    Incorrect storage behavior when using operate mode,
    When I use operate mode with a prespecified tech/loc capacity configuration, the storage "creates" capacity whenever it needs it.
    This seems odd to me since unmet demand is turned ON, meaning that whenever it can't meet demand, it should just create unmet demand instead of an infeasible amount of new storage capacity. (only happens in operate mode),
    Has anyone else experienced this problem?
    Peter
    @peterklein11_twitter
    Hi All. New user here. I have a MIP problem for a mix of solar PV, wind and storage, as I can only install a fixed number of 5 wind units. I am currently using CBC as the solver, but the solution is getting a bit slow and I wanted to try adjusting the mipgap. Adjusting mipgap=0.05 under the solver options didn't seem to change the solution time at all. It seems CBC expects ratioGap or allowableGap as the solver option? How would I implement this in the YAML model file? Providing ratioGap=0.05 didn't seem to do anything either
    2 replies
    FAYDI
    @FAYDI
    Hi everyone, I would like to know if it is possible to introduce a number of cycle of technology instead of lifetime. My second question is about the degradation and the cost of replacement. Is it possible to take into account these parameters in the lcoe ? Thank you so much for your answers.
    1 reply
    Francesco Lombardi
    @FLomb
    hi @FAYDI. I would say that no, atm having an explicit number of cycles as a substitute of lifetime is not possible. There are ways to take into account battery (I guess you have in mind a battery here?) cycles in an approximate way in an LP model. For an example check this out, although it's not Calliope-based
    the same reference provides some insights about options for degradation/cost of replacement. Generally speaking, all of this is a bit hard to take into account in LP form; slightly better in MILP form, possibly
    FAYDI
    @FAYDI
    Ok, I see, many thanks @FLomb
    MatthieuJacobs
    @MatthieuJacobs
    Hi, I have a question regarding the definition of resources for which potentials are typically estimated on a yearly basis, such as biomass for example. Is there a way to set an annual resource potential in Calliope, or should I find a way to set a custom constraint linking the availability in consecutive periods? At the moment the annual resource is considered to be hourly, which obviously doesn't make sense. I also don't really want to just divide the potential by the number of timesteps as this reduces the potential in combination with intermittent resources. Has anyone faced this issue?
    1 reply
    jgwagenfeld
    @jgwagenfeld
    Maybe you can use the group constraint carrier_prod_max for the set of techs/locations you wanne set the upper limit?
    1 reply
    MatthieuJacobs
    @MatthieuJacobs
    @jgwagenfeld this seems to work! Thanks
    Hardy Hosseini
    @hardy.hosseini_gitlab
    Hi All, I am a new user of Calliope. Just wondering is there any training course for this software?
    Francesco Lombardi
    @FLomb
    Hi @hardy.hosseini_gitlab , the documentation includes some tutorials (https://calliope.readthedocs.io/en/stable/user/tutorials.html), have you already seen those?
    2 replies
    MartKret
    @MartKret
    Hi, I am currently trying to implement various things in Calliope. I was wondering if anyone has ever implemented demand side management in Calliope? My attempts to implement DSM as a storage were not so successful, because various parameters, like storage duration or number of possible storage operations are missing. Does anyone of you have experience with this and can possibly help me? Thanks.
    Francesco Lombardi
    @FLomb
    The maximum "storage time" was removed since Calliope 0.6.0, but was there before. Not sure why it was removed, but I guess it was not particularly meaningful for normal storage techs; you could maybe bring it back to life for DSM? as far as the "number of possible storage operations", what do you mean? how many "times per day" can the storage be charged/discharged? If so, I think there's no such option at the moment; you could implement it, but it would turn the problem into a MILP one - which is ok, but harder to solve
    4 replies
    Lingkangjin
    @Lingkangjin
    image.png
    Lingkangjin
    @Lingkangjin
    Hello everyone, I am new to Calliope and currently I am doing some cases by my own (running with Calliope 0.6.7 in plan mode); I have a doubt about the conversion technologies, moreover regarding the "energy_cap_max" constraint, I have seen that if this constraint is set, as results the size of the technology will be equal the maximum value, however, if this constraint is removed, the size of the technology will be calculated by Calliope and can be lower (or higher) than the maximum size. So I wonder how can I set the upper limit without defining the tech size.
    7 replies
    Lingkangjin
    @Lingkangjin
    Hi, I was wondering, in order to compare different scenarios, if somehow I can get the objective function value of different scenarios. Otherwise, what is the best practice to compare different scenarios. thanks in advance
    2 replies
    Rodrigo Amaro e Silva
    @ramaroesilva
    Hi everyone.
    Find here a presentation I prepared to lightly introduce calliope to some MSc students at the university where I'm currently working:
    https://www.researchgate.net/publication/355942679_Light_introduction_to_calliope_Python_package
    Lingkangjin
    @Lingkangjin
    Hello everyone, I would like to model Air source Heat pump in my study and I've already seen the example in https://calliope.readthedocs.io/en/stable/user/advanced_constraints.html?highlight=carrier_ratios.carrier_out_2#combined-cooling-heat-and-power-cchp, however in the modelled example, If I understood correctly, the heat and the cooling could be generated both in the same time-step, is it any way to model that in each time step, ONLY one of two output can be generated, but never both of them?
    2 replies
    Lingkangjin
    @Lingkangjin
    Is it possible to define separated consumption costs for "conversion_plus" where there are 2 input carriers? because I am modelling Cogeneration tech that could take in the natural gas and also the hydrogen-NG blend, where I would like to attribute emission cost based on which input carrier is been used. So, is it possible to specify this in "om_con" somehow?
    11 replies
    Lingkangjin
    @Lingkangjin
    I was also wondering if it is possible, for energy storage techs, to have as input maximum cycles, instead of a lifetime in years; Because most energy storage degradation is based on how many full charging/discharging cycles have been done, not how many years are been used. ( I get this is should a very complex modeling issue, just wondering if is been considered somehow)
    5 replies
    Thijs Eddes
    @ChiefThijs_gitlab
    Hi all, Im new to Calliope . ATM im writing my MSc thesis about bottom-up energy models in global supply chains. The question that I have is if Calliope is suitable to model the entire energy consumption of a final product by modelling its second - third-.... - last tier supplier in one model? Thanks in advance
    1 reply
    FAYDI
    @FAYDI
    Hi everyone, I have an issue with the dispatch of power. The software took a carrier from a technology to another and disrespect the link between regions and the constraint one_way. Could someone tell me how to efficiently stop the communication between two technologies ? Thank you so much!!
    2 replies
    FAYDI
    @FAYDI
    image.jpg
    Hi, This an example of the dispatch. The fuel cell produce an excessive power regarding the demand. Is there any way to force the fuel cell to deliver only the need of power demand ? The second issue, is that fuel cell takes energy from the electrolyser but the two technologies are not linked together.
    13 replies
    FAYDI
    @FAYDI
    image.png
    FAYDI
    @FAYDI
    image.png
    FAYDI
    @FAYDI
    image.png
    Lingkangjin
    @Lingkangjin
    Hello Everyone, does anyone has encountered issues about saving results in NetCDFs format? While I can save them in all other formats of results, this one failed with permission denied error [errno 13], I have already tried to run the script and model as administrator, however, the issue remained
    4 replies
    Lingkangjin
    @Lingkangjin
    image.png
    I am also investigating the "Operate" mode of Calliope, and currently using the "national scale tutorial example" in order to understand how it works, however, without changing anything of example, it did not succeed with error code that I have uploaded, is there some way to solve this?
    b-jesse
    @b-jesse
    Unbenannt.PNG
    Hey everybody. I'm getting a weird warning while using calliope that im not sure how to proceed. I'm not sure I understand the warning correct but I believed that it meant my timeseries might have different temporal resolutions. But I checked and I couldn't find a differences. Is my assumption wrong or do I need to check the timeresolutions again? Im running in plan mode.
    1 reply
    Gregoire Klaus
    @Gregoire_klaus_gitlab
    @b-jesse. In general, you should always use a uniform time resolution per dataset for the model. But I assume that Calliope ran and you got results ? If you have CSV files as output, you can see your time series result under "results_carrier_con".
    b-jesse
    @b-jesse
    Thanks for the answer. I'm getting a results file and in this file the time resolution looks fine. I was just wandering if anybody else got the same warning and if i could ignore it. Or if there is a problem that may lead to longer calculation times.
    2 replies
    Gregoire Klaus
    @Gregoire_klaus_gitlab
    Unbenannt.PNG
    b-jesse
    @b-jesse
    One more question. After updating to the newest version of calliope, i don't get the message "unmet demand deletet" anymore. I also did some changes to my model, so i'm not confident that this is due to my new model or due to the new version of calliope. Does anybody know?