"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
@nakaret-b, @ramaroesilva is right, you just need to have the model in a known directory, then you can load it using
calliope.Model(...), as mentioned in https://calliope.readthedocs.io/en/stable/user/running.html. The content of the example model YAML files can also be found in the documentation. You can get away with not knowing Python, by just editing the relevant YAML files and running the model via the command line.
@_clameron_gitlab, I assume you mean an optimisation that allows technology investment to take place at points in time that aren't the first timestep? E.g. optimising over several years and allowing new investment at the start of each year. We have that on the timeline for development this year. If you have thoughts on what you'd like to see in that feature, or ideas on how it could be well implemented, you can join the discussion on the GitHub issue (calliope-project/calliope#125) :)
model.yamlfile, not the directory
@Seba-Mart as @ramaroesilva says, your best bet is to visualise the raw data as you see fit. I'd say the best is to combine the results in
model.results with a geopandas geodataframe, then go from there. To work in QGIS you probably want to save the results to CSV first (
@guylr, we currently don't have a way to specify timeseries capacity, but we have just added the ability to more easily add custom constraints to the Pyomo backend. You could write a function that is a valid Pyomo 'rule' and have it limit capacity based on a timeseries