Implement Kotzur method for representative days
Theory
Kotzur et al. (2018)
https://arxiv.org/pdf/1710.07593
Other Implementations
-
Calliope: https://calliope.readthedocs.io/en/stable/user/advanced_features.html#time-resolution-adjustment
-
eTraGo in older PyPSA version: https://github.com/openego/eTraGo/blob/bc3447c2c9b2df77bbf3c66168ed67846eca38c7/etrago/tools/constraints.py#L2420-L3473
-
FINE: https://vsa-fine.readthedocs.io/en/master/mathematicalDocumentation/storageDoc.html
Motivation
While hourly consecutive modelling has become the norm in many energy system models, several types of problems may make it necessary to reduce the time dimension. One key example is capacity expansion with multiple investment periods (with piecewise linearised endogenous technological learning). See Zeyen et al. (2023): https://www.nature.com/articles/s41467-023-39397-2
Tips
Implement simplification in Appendix B. https://github.com/PyPSA/PyPSA/issues/36#issuecomment-704752151
Not sure how helpful this is, but I did some work on this 4 years ago https://github.com/lisazeyen/learning_curve/blob/d9a5742a7d7ed784a9e37a51563dc90f32765990/scripts/pypsa_learning/temporal_clustering.py#L178