## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
Lingkangjin
@Lingkangjin
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
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
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.
16 replies
FAYDI
@FAYDI
FAYDI
@FAYDI
FAYDI
@FAYDI
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
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
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.
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
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?
Lingkangjin
@Lingkangjin
Hello everyone, after several running scenarios, I have discovered that in Calliope, Storage could "destroy" the energy whenever it likes, meaning it produces and consumes at the same time-step, I guess is due to the characteristics of the model; I was wondering in which kind of situation this could happen? because in some other cases this behaviour just does not exist, knowing the cause of the problem I may work around it during the modelling phase of the problem.
13 replies
Lingkangjin
@Lingkangjin
b-jesse
@b-jesse
Hello again. I have another question about the run configurations and the interaction between calliope and gurobi. My model currently takes a long time to solve and I would like to limit the maximum computation time. I know that gurobi has this functionality (https://www.gurobi.com/documentation/9.5/refman/timelimit.html). However, I don't know how to easily set this parameter when I run my model with calliope. Is there a method how I can set this parameter in/with calliope (e.g. in the model.yaml?) Or do I have to let calliope build my model and start the solving in the python interface of gurobi?
13 replies
gio-mot
@gio-mot
Good evening, I am developing a model of the African continent based on a Calliope, but I have incurred in some issues regarding costs results. I am modelling the power system as it is, so I am not including investment costs, to optimize the operation of the existing power stations. For some technologies I have only fixed O&M costs, for which I used the setting om _annual, which should be annual fixed opex for unit of installed capacity. Anyhow, these costs result null when investment costs are not considered. Did I misunderstand the nature of this setting or is there an issue in its definition?
Thank you very much
Lingkangjin
@Lingkangjin
Hello everyone, is it possible to constraint some conversion system to be supplied ONLY by energy production of a defined set of technologies? currently, I would like to assess a scenario with green hydrogen production, i.e. hydrogen production only with electricity produced by RES, rather than a generic electricity carrier.
Francesco Lombardi
@FLomb

Hello everyone, is it possible to constraint some conversion system to be supplied ONLY by energy production of a defined set of technologies? currently, I would like to assess a scenario with green hydrogen production, i.e. hydrogen production only with electricity produced by RES, rather than a generic electricity carrier.

Hi, what I would do then would be to differentiate electricity carriers. For instance, you could say that renewabes produce "renewable electricity", whilst other things produce "electricity". Your electrolyser would only be allowed to operate with an input of "renewable electricity", making sure that you produce green hydrogen only. At the same time, you should define a new, "dummy" technology to convert "renewable electricity" into generic "electricity", with no cost and unitary efficiency, so that renewables are also enabled to feed the generic "electricty" demand like all other techs

Francesco Lombardi
@FLomb

Good evening, I am developing a model of the African continent based on a Calliope, but I have incurred in some issues regarding costs results. I am modelling the power system as it is, so I am not including investment costs, to optimize the operation of the existing power stations. For some technologies I have only fixed O&M costs, for which I used the setting om _annual, which should be annual fixed opex for unit of installed capacity. Anyhow, these costs result null when investment costs are not considered. Did I misunderstand the nature of this setting or is there an issue in its definition?
Thank you very much

Hi, wow, looks like an ambitious attempt! (: is this part of some bigger project? Anyway, if you are defining some om_annual that should work fine without any investment cost. A different thing is the om_fractional_investment, which is based on investment cost. However, for any fixed cost, including om_annual, you need to have a lifetime and an interest_rate defined as well.

2 replies
Fin Christie
@FinChristie
Hello, I was wondering if anyone would be able to help me with a model "unbounded" issue I am having in calliope. I am building a energy system model for a sustainable home, which uses a fictional harmonic compensation device - as a sort of ancillary service. The proof of concept model was working well until I introduced variable electricity prices (buying from grid). I did this by setting file allowed to ['resource','om_prod'] in model.yaml and by adding a timeseries for grid electricity prices to the technology. After completing these steps I ran the model, the model successfully pre-processed but the model.run() failed, giving various "Critical" errors saying the problem was unbounded. From my understanding this would normally be due to a lack of constraints (vs variables) but the messages seems to suggest this is not the case. Does anyone have any experience/ knowledge of these issues?Thank you so much in advance for your help and taking the time to read my problem.
here are some screenshots of firstly the terminal output that says the problem is unbounded
and the model.yaml file
Francesco Lombardi
@FLomb
Hi @FinChristie. I've never used the "file_allowed" functionality, but I suggest you try with a normal override. Anyhow, the problem being unbounded might mean you have defined something wrong in these new inputs, for instance, negative prices that may make the "minimum" system cost impossible to determine
Fin Christie
@FinChristie
Hi @FLomb, thanks for your help. Would overrides allow me to continuously update the price for each hour of the models simulation? My original plan was to build an automated script that ran the model for every hour, and updated the om_prod value based on the price timeseries. My main concern with this approach was that the storage would reset everytime the model was run. This is why I started to look into the "file_allowed" functionality as it seemed to meet the model's requirements.
Rodrigo Amaro e Silva
@ramaroesilva

Hi @FinChristie. I agree with @FLomb. Personally, I've never used the "file_allowed" configuration.

But for your intention, it should be enough to do: your_tech.costs.monetary.om_prod=file_name.csv:col_name

Fin Christie
@FinChristie
Hi @ramaroesilva, thank you for your help also. I think the statement you suggested is what I have in my techs.yaml file
4 replies
and this is the csv file
I also get a "MergeError" at the end of the model run, but I had assumed that is was just a result of the unbounded issues:
manukath
@manuelkat
Hello Calliope community! Where can I find detailed information beyond the manual about the receding horizon control algorithm used in operation mode?
Francesco Lombardi
@FLomb
Hi @manuelkat, check out this (https://www.sciencedirect.com/science/article/pii/S0306261921000313), section 3.2.2
manukath
@manuelkat

Thank you @FLomb! I have modeled a community of several households. Each household has solar panels and a small buffer storage. All households share heat pumps, one of which fills a large hot water storage tank. They also share a battery and a large seasonal hydrogen storage tank, which is charged by an electrolyzer and discharged by a fuel cell. The goal is to store the part of the PV electricity that is not used for daily needs and the battery for the dark season, so that greenhouse gas emissions are minimized.

In Planning Mode, I get a typical seasonal storage curve optimized over a year, which means in April the hydrogen storage is fully discharged, in October fully charged. I would like to get a similar storage curve in operation mode with a window of 48h and a horizon of 24h as in planning mode, which I have not yet succeeded in doing. My idea so far is to define artificial om_con via a timeseries in the charge period negative for the electrolyzer, in the discharge period negative for the fuel cell as an incentive, however it is hard to set the amount of om_con correctly. Do you have any ideas how to better implement seasonal operation in operation mode?