carrier_prod(t) <= storage(t) * some_constant
). I can imagine that dependence being implementable.
Hi everyone. I'm currently learning to use Calliope to model renewable integration in some key areas in Portugal.
My question for the day is: after loading a "model" variable using calliope.read_netcdf(), where in that variable can I find the parent for each tech that was described in the .yaml?
Hi @FLomb. yes the system is overproducing electricity, but I am not sure from where/why. The electricity flows between nodes are higher than the electricity produced in the whole system. That is why the results are so weird to me. Let me introduce this toy model. I am actually using a reduced version of the urban scale model with only two nodes. The only differences are the following. First, as you suggested, I added a om_prod to the power_lines:
power_lines:
essentials:
name: 'Electrical power distribution'
color: '#6783E3'
parent: transmission
carrier: electricity
constraints:
energy_cap_max: 2000
energy_eff: 0.98
lifetime: 25
costs:
monetary:
interest_rate: 0.10
energy_cap_per_distance: 0.01
om_prod: -0.05 # the cost/profit are below the 10p/kWh electricity price of supply_grid_power
Second, I reduced the number and complexity of locations:
X1:
techs:
chp:
supply_grid_power:
supply_gas:
demand_electricity:
constraints.resource: file=demand_power.csv
available_area: 500
coordinates: {x: 2, y: 7}
X2:
techs:
supply_grid_power:
demand_electricity:
constraints.resource: file=demand_power.csv
coordinates: {x: 8, y: 7}
N1:
coordinates: {x: 5, y: 7}
links:
X1,X2:
techs:
power_lines:
This model does not produce meaningfull results. When I say meaningful, I mean that the energy produced match the demand and that I can identify the source/end of each flow in the results_carrier_con and results_carrier_prod outputs.
In this model, the power lines flows are equal to the energy_cap_max of the transmissions. The only explanation I find is that the same unit of electricity is continually being sold. Is it possible that in one period the same unit of electricity is traded as many times as posible between the two nodes until reaching the energy_cap_max of the power line? If yes, would not be an option to set an om_con in the power lines to solve the effect of this redundancy?
"ImportError: pyutilib.enum has been removed.
Python 3 now has an enum implementation in the standard library (also available for older Python versions as the third-party enum34 PyPI package) that supersedes this library."
conda create -n calliope -c conda-forge calliope=0.6.5 pyutilib=5.8.0
hi @nakaret-b. my personal take on your questions:
1) to edit the models you will have to customize the .yaml files (which can be done in any text processor, although I would suggest tools such as Spyder or Atom).
2) you can edit and run the models in Jupyter Notebook, edit+run in a Python IDE (e.g. Spyder) or edit in a text editor (e.g. Atom) + run in the terminal
3) I would suggest understanding some basic Python (there are tons of videos/tutorials on the internet) and getting a good grasp on the .yaml sintax (as these are the files that define your model) by trying to understand the examples from the tutorials and documentation