## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
• Create your own community
##### Activity
lblabr
@lblabr

C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\exceptions.py:60: ModelWarning:

The chosen solver, glpk, does not suport warmstart, which may impact performance.

ERROR: Solver (glpk) returned non-zero return code (1)
ERROR: See the solver log above for diagnostic information.
Traceback (most recent call last):
File "write.py", line 183, in <module>
model.run()
File "C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\core\model.py", line 261, in run
results, self._backend_model, interface = run_backend(
File "C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\backend\run.py", line 54, in run
results, backend = run_operate(
File "C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\backend\run.py", line 487, in run_operate
_results = backend.solve_model(
File "C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\backend\pyomo\model.py", line 209, in solve_model
results = opt.solve(backend_model, tee=True, **solve_kwargs)
File "C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\pyomo\opt\base\solvers.py", line 599, in solve
raise pyutilib.common.ApplicationError(
pyutilib.common._exceptions.ApplicationError: Solver (glpk) did not exit normally

(calliope) C:\Users\Lars Bretschneider\lblabr@owncloud\Projekte\calliope_models\models\00 - HEMS 03 - PV-BAT>

Bryn Pickering
@brynpickering
@ramaroesilva : you can set the resource area max for all technologies within a location at a location level by using available_area ar the location level (see here for an example)
Rodrigo Amaro e Silva
@ramaroesilva
awesome feature @brynpickering! way simpler than group constraints :-D
whenever you have some free time, please take a look at the energy_cap_per_unit issue I wrote about on Jan 9th. thanks!
lblabr
@lblabr

are there some issues in operate mode with 15-min intervals ?

Starte Time: 2021-01-11 04:00
End Time: 2021-01-13 23:45

C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\preprocess\checks.py:870: VisibleDeprecationWarning:

Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray

C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\exceptions.py:60: ModelWarning:

Possible issues found during model processing:

• Integer and / or binary decision variables are included in this model. This may adversely affect solution time, particularly if you are using a non-commercial solver. To improve solution time, consider changing MILP related solver options (e.g. mipgap) or removing MILP constraints.
• Operational mode requires the same timestep resolution profile to be emulated on each date

Run Model
Traceback (most recent call last):
File "write.py", line 190, in <module>
model.run()
File "C:\Daten\Tools\PortableApps\PortableApps\anaconda3\envs\calliope\lib\site-packages\calliope\core\model.py", line 256, in run
raise exceptions.ModelError(
calliope.exceptions.ModelError: Unable to run this model in operational mode, probably because there exist non-uniform timesteps (e.g. from time masking)

Starte Time: 2021-01-11 00:00
End Time: 2021-01-13 23:45
works...
Francesco Lombardi
@FLomb

I recently have started to use calliope. As I understood energy_cap variable can show the installed capacity over the subset of the studied period. But, it just gives a single value and is not a time series variable. For example, I am planning for a 15-year time horizon, and I want to know which tech in the year 7'th is installed? and how is the installed capacity value?

Hi @vahidsabzpoosh, currently calliope does not allow a dynamic capacity expansion, i.e. one which accounts for what happens in each year. It only allows a 'static' optimisation in which you get the 'final' capacity expansion. There is however a planned development in the direction you have in mind, e.g. see calliope-project/calliope#125

lblabr
@lblabr

How do i model a battery with an minimal power restriction in timesteps of use ?

bat:
essentials:
name: 'ev_bat'
color: '#00AAAA'
parent: storage
carrier: electricity
constraints:
storage_initial: 0
energy_cap_per_storage_cap_equals: 1

        units_equals: 1
energy_cap_per_unit: 14800
energy_cap_min_use: 0.2
energy_cap_max: 14800  # kW

storage_cap_per_unit: 14800

energy_eff: 1  # 0.95 * 0.95 = 0.9025 round trip efficiency
storage_loss: 0.001  # No loss over time assumed
costs:
monetary:
interest_rate: 0.11

does not work

lblabr
@lblabr
i still playing around with operate mode, does have energy_cap_max at transmission technology any impact an the results ? i does not look like that ...
Fin Christie
@FinChristie
Hi, the help I received here was really helpful last time but unfortunately I have arrived at another issue. My model can run without errors but it isn't really working as I had hoped.
The aim of the model is to simulate the production of Hydrogen using OSW and contains both an electricity and hydrogen demand, however the optimal solution - that the model converges to - seems to be to not to produce any hydrogen at all (neglecting the hydrogen demand)
Fin Christie
@FinChristie
I was wondering if there are any ways to incentivise the production of hydrogen, i.e. allowing the carrier to be sold for profit or by cost-penalising the model for not meeting the Hydrogen demand
Fin Christie
@FinChristie
I should mention that the model contains a ccgt supply that is capable of meeting the electricity demand by itself. The intention for OSW is that it priorities hydrogen production but if there is surplus energy it is sent to the electricity demand.
lblabr
@lblabr
could you share your model ?
Fin Christie
@FinChristie
Here is a link to the project git:
The model config files and run script are all contained within the poc_model folder
lblabr
@lblabr
the link does not work
is the rep public ?
you might mail me directly
or lblabr on github
Fin Christie
@FinChristie
Hi, sorry I forgot it was set to private. I have changed it to public
Thanks
Rodrigo Amaro e Silva
@ramaroesilva
hi @lblabr. could you explain better what you mean with "a minimal power restriction in timesteps of use?"
3 replies

i still playing around with operate mode, does have energy_cap_max at transmission technology any impact an the results ? i does not look like that ...

energy_cap_max is not really suited for operate mode, as it limits the maximum capacity the optimization procedure can allocate to a given technology in a given location.

and the "operate" mode does not perform any optimization on the installed capacities, only the "plan" mode

hi @FinChrisite, does the html output of your model indicate any unmet hydrogen demand?
Rodrigo Amaro e Silva
@ramaroesilva
if it shows the unmet hydrogen demand, it likely means that the model cannot make the hydrogen reach its consumption point(s) (since the cost for unmet demand is usually huge)
after your reply I might take a deeper look into your repo :-)
Fin Christie
@FinChristie
Hi Rodrigo, yes the html output does show the unmet hydrogen demand. I will send in some screenshots.
Fin Christie
@FinChristie
Rodrigo Amaro e Silva
@ramaroesilva
So, from my experience that usually means that something (usually not money) is blocking the hydrogen from reaching its consumption point(s).
Just to confirm, the public repo you shared here is the one I should look at, right?
lblabr
@lblabr

wich scenario is relevant ? in your model you have two transmission techs for region1-2,region2:

lblabr
@lblabr
moving the electrolysis to the location with OSW and removing transmission for hydrogen results in that picture
in the way around shouldn't be the hydrogen demand in region1-2: ??
moving the hydrogen demand
Fin Christie
@FinChristie
Hi, the link that was causing the problem was the hydrogen pipes between region1-2 and region 2. After looking over it with my supervisor we found the efficiency per distance constraint was effectively making the pipe useless (because of thr long distance). We removed the constraint and it now works as hoped. Thabk you so much for taking a look at the model!
Rodrigo Amaro e Silva
@ramaroesilva
@FinChrisite, great! keep up the good work :-)
Fin Christie
@FinChristie
I also think i have found a bug in the software, I am not sure if you are aware but the "one_way" transmission constraint doesn't seem to work
Rodrigo Amaro e Silva
@ramaroesilva
I've used it before and it does work (at least in version 0.65). what I found out and has already been identified by the main developers, is that one-way is not compatible with transmission costs
Fin Christie
@FinChristie
Ahh interesting!
Rodrigo Amaro e Silva
@ramaroesilva
@lblabr, what's happening here is that your confusing installed capacity with operation power (as both are in Watt).
energy_cap_max/min/equals only address how many kW are installed for a given technology in a given location. that's where my previous comment came from.
in your case, you have a 11 kW battery (rated capacity, fixed value), which can only operate at power levels >= 2.4 kW (power operation, which varies in time) and <= its rated capacity.