Skip to content

Commit

Permalink
Merge pull request #898 from rl-institut/release/v1.0.0
Browse files Browse the repository at this point in the history
Release/v1.0.0
Local `EXECUTE_TESTS_ON=master` ran though on Ubuntu and Windows.
  • Loading branch information
smartie2076 authored May 31, 2021
2 parents f81f96b + 6e4847f commit b9f291a
Show file tree
Hide file tree
Showing 137 changed files with 6,291 additions and 12,440 deletions.
20 changes: 17 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ name: CI
# events but only for the dev and master branches
on:
push:

paths-ignore:
- 'docs/**'
- 'CHANGELOG.md'
- 'README.rst'
pull_request:
branches:
-dev
Expand Down Expand Up @@ -49,7 +52,6 @@ jobs:
sudo apt-get update
sudo apt-get install coinor-cbc
sudo apt-get install graphviz
sudo apt-get install wkhtmltopdf
# Runs a set of commands using the runners shell
- name: Install dependencies
Expand All @@ -65,4 +67,16 @@ jobs:
- name: Test with pytest
run: |
coverage run -m pytest
coverage run -m pytest tests/ --durations-min=1.0 --durations=400
- name: Check test coverage
run: |
coverage report -m
- name: Report to coveralls
run: |
coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github

3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,5 @@ mvs_csv_config.json

/validation_tests/

/docs/*.inc
*.inc
*.tbl
11 changes: 6 additions & 5 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,19 @@ version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
fail_on_warning: true
# Build documentation with MkDocs
#mkdocs:
# configuration: mkdocs.yml

# Optionally build your docs in additional formats such as PDF
#formats:
# - pdf
# Optionally set the version of Python and requirements required to build your docs
python:
version: 3.7
install:
- requirements: requirements/docs.txt
- requirements: requirements/default.txt
- requirements: requirements/report.txt
- method: setuptools
path: .
path: .
# Optionally build your docs in additional formats such as PDF
formats:
- pdf
104 changes: 103 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,109 @@ Here is a template for new release sections
-
```

## [1.0.0] - 2021-05-31

### Added
- Check for correct `installedcap` processing to `AB_grid_pv` benchmark test (#831)
- Check to `AB_grid_pv` benchmark test: total pv generation is used to cover demand (#831)
- Section on energy consumption assets in `Model_Assumptions.rst` and `MVS_Outputs.rst` (#817)
- Constant variables: `MODELLING_TIME`, `LP_FILE` (#839), `MAXIMUM_ADD_CAP` (#848), `TIMESERIES_SOC`, `AVERAGE_SOC` (#859), `INSTALLED_CAP_NORMALIZED` (#835)
- Requirement of plotly in `requirements/default.txt` (#840)
- Pytests for `C1.check_for_sufficient_assets_on_busses()` (#837)
- Lookup table for parameters in RTD (#842)
- Column `category` in the file `docs/MVS_parameters_categories.csv` to know in which csv file(s) the parameter is used (#842)
- Define `OEMOF_SOLPH_OBJECT_ASSET`, `WEIGHTING_FACTOR_ENERGY_CARRIER`, `RENEWABLE_SHARE_ASSET_FLOW`, `OEMOF_SOLPH_OBJECT_BUS` as constants in `D2` module (#834)
- Import and use constants from `D2` module in `test_D2_model_constraints.py` (#834)
- Check for the capability of asset capacities in an energy system to fulfill the maximum demand in `C1.check_energy_system_can_fulfill_max_demand()` (#824)
- Tests for `C1.check_energy_system_can_fulfill_max_demand()`, including pseudo-benchmark test in `test_C1` (#824, #896)
- Zenodo badge on README (#850)
- `VERSION_NUM` to simulation settings, added with `C0.add_version_number_used()` (#855)
- Generation of pdf version of the readthedocs (#853)
- `sphinxcontrib-svg2pdfconverter` in `docs/conf.py` for `svg` images into `pdf` (also added in `requirements/docs.txt`(#853)
- Function `generate_kpi_description` in `docs/conf.py` module to generate documentation of kpi parameters listed in `docs/MVS_kpis_list.csv`(#863)
- Badges for pypi, black linter and license in `docs/index.rst` and `README.rst` (#865)
- `--version` option for the command line `mvs_tool` (#866)
- `sphinx.ext.imgconverter` in `docs/conf.py` for svg images into pdf (#853)
- Parameter `maximumAddCap` where `maximumAddCap=maximumCap-installedCap` in `C0.process_maximum_cap_constraint()`, ie. make the coupling of the two parameters `installedCap` with `maximumCap` explicit (#848)
- Check that storage file name defined with ending `.csv` with new `A1.check_storage_file_is_csv()` in `A1.create_json_from_csv()` (#859)
- Class in `exceptions.py`: `MissingCsvEndingError` (#859)
- Constant variables in `E1` for accessing oemof-solph results: `OEMOF_FLOW`, `OEMOF_SEQUENCES`, `OEMOF_INVEST`, `OEMOF_SCALARS` (#859)
- Constant variables in `E1`: `THRESHOLD` for central definition of precision limit (#859)
- `docs/MVS_kpi_categories.csv` and `conf.generate_kpi_categories()` to list KPI under in the RTD (#869)
- Descriptions of all output files to RTD (#874)
- Benchmark test for `maximumCap` constraint in `test_benchmark_constraints.py` (#835)
- Functions `C0.process_normalized_installed_cap()` to process the normalized installed capacity value as well as its pytests (#835)
- Test for `C0.process_normalized_installed_cap()` (#835)
- Tips and Tricks in the RTD (#876)
- Logging option for server (#895)

### Changed
- Release protocol in `CONTRIBUTING.md` (#821)
- Status messages of requirements in `E-Land_Requirements.rst` (#817)
- `Model_Assumptions.rst` and `MVS_Outputs.rst`, mainly adding labels (#817)
- Pytests for `D0` to let them pass on Windows (#839)
- Dependencies of pyomo and pandas (#840, #896)
- Validate of peak demand pricing bus in `C1.check_for_sufficient_assets_on_busses()` (#837)
- Refactored `EXCESS` to `EXCESS_SINK` as this is more intuitive (#837)
- Order of `maximumCap` check and adaption in `C0.process_maximum_cap_constraint()` (#833)
- Adapt parameters in `test/inputs` to make simulation run without errors after correcting processing of `maximumCap`: set constraints `minimal_renewable_factor` and `minimal_degree_of_autonomy` to `0.01`, `maximumCap` of pv plant to `10000` and `feedin_tariff` to `0.05` (#833)
- Generate the parameters categories in RTD lookup table automatically from `docs/MVS_parameters_categories.csv` (#842)
- `DISPATCHABILITY` of energyConsumption assets now set to `FALSE` by default (#824)
- Function `C0.define_sink()` now defines `DISPATCHABILITY=TRUE` for the created sink (#824)
- Only implement the constraints defined by the user explicitly: move accessing the constraint key in `dict_value` in the respective constraint preparation functions (#845)
- Restructure chapters of Readthedocs (#853, #860)
- Turn Readthedocs build warnings into errors in CI (#863)
- Pytest triggers the kpi benchmark tests (which was not the case before) (#864)
- Deactivate optimization when `maximumCap<=installedCap and maximumCap!=0` in `C0.process_maximum_cap_constraint()` (#848)
- Replace usage of `maximumCap` in `D1` with `maximumAddCap` calculated in `C0` (#848)
- Adjust `tests/test_benchmark_feedin.test_benchmark_feedin_tariff_optimize_positive_value()` and `tests/benchmark_test_inputs/Feedin_optimize/csv_elements/energyProduction.csv` to fit new `maximumCap` and `maximumAddCap` definitions (#848)
- Include new parameter `maximumAddCap` in `tests/test_data/inputs_for_D0/mvs_config.json` and `tests/test_data/inputs_for_D1/mvs_config.json` (#848)
- Explicitely include badges only for the html version of the RTD and not the pdf (#870)
- Change `E1.get_timeseries_per_bus()` and `E1.get_flows` and utilize `E1.cut_below_micro` to apply precision limit (#859)
- Separate calculation of SOC into own function: `E1.get_state_of_charge_info` (#859)
- Change `E1.add_info_flows()` so that storage peculiarities for the information is considered (#859)
- Benchmark tests for `AE-Grid-Battery`: Input files and pytests (#859)
- `E1.lcoe_assets` to calculate LCOE of storage capacity throughput based on input flow. Required change of `test_benchmark_KPI` (storage not used, `LCOE=0`) (#589)
- Modified github action workflow so that it is not triggered when one modifies the README, CHANGELOG or the docs (#872)
- Proofread RTD for the release of the ELAND report (#871, #878, #884, #885, #886, #887, #897)
- Prepared `docs/MVS_kpis_list.csv` summarizing all simulation outputs (#869)
- Decapitalizing and removing spaces of all variable values in `constants_json_strings.py` (#869)
- Reformatting code snippets in RTD to `:code:` (#880)
- `E3.add_levelized_cost_of_energy_carriers` to fix wrong variable definition, extend pytest (#890)
- `E2.convert_components_to_dataframe()` to correctly display when an asset is optimized, add pytests (#875)
- If the `TIMESERIES` key is in the `dict_values` and the file under `FILENAME` key cannot be found, the timeseries is loaded from `TIMESERIES` (#881)
- updated the SOC defintions in RTD (#876)
- Corrected faulty weighting factors (`DEFAULT_WEIGHTS_ENERGY_CARRIERS` in `utils/constants.py`, `docs/model/assumptions.rst`) (#894)
- MVS-EPA parser to work with current EPA as of 2021-05-28, commit 5e7c4c39b2564c569c31907cbcb3cb07b92ebd2f: `utils.data_parser.convert_epa_params_to_mvs()` (#895)

### Removed
- `AUTO_SOURCE` and `AUTO_SINK` as this overcomplicated the labelling process (#837)
- `AUTO_SINK` suffix in `utils.data_parser.convert_mvs_params_to_epa()` (#837)
- `EXCESS_SINK_POSTFIX` and only use `EXCESS` (#837)
- Quotes for command line instruction in `README.rst` (#850)
- Superfluous `docs/readthedocs.yml` file (#853)
- Broken links in readthedocs (#861)
- Calculation of `LCOE_Asset` for energy storage capacity are not calculated anymore in `E2.lcoe_assets` (#589)

### Fixed
- Skip `test_benchmark_KPI` as it was seen to be consuming the whole test time leading to timeout on github action (#826)
- Reduce `simulation_settings.evaluated_period` to one day for the tests where simulation results are not important (for `E0` and `D2` test modules setup) (#826)
- Fix formula of degree of NZE in RTD and in docstring of `E3.equation_degree_of_net_zero_energy()` (#832)
- Tests failing on windows with `FileExistsError` (#839, #854)
- No excess error message regarding the auto-generated peak demand pricing bus (#837)
- `C0.prepare_demand_assets()` did not explicitly exclude feedin sinks (#837)
- Hotfix: `C0.define_sinks()` now works for scalar feed-in prices, but not for lists of timeseries (#837)
- Address issue #825 by changing order of `maximumCap` check and adaption in `C0.process_maximum_cap_constraint()` (#833)
- Bugfix in `C0.process_maximum_cap_constraint()`: Always set `maximumCap` to `None` in case its value is 0 (#833)
- Solved ReadTheDocs warnings (#863)
- Re-enable the coverage tests on github actions (#864)
- Adjust definition for `maximumCap` in `docs/MVS_parameters_list.csv`: Total maximum installable capacity (#848)
- Negative values within the precision limit in `timeseries.xlsx` (#859)
- Introduce new standard for cites (#885)
- Faulty calculation of attributed costs (#890)
- Show actual setting of `OPTIMIZE_CAP` in autoreport for storages and energy production fuel sources (#875)
- Faulty weighting factors, now energy carrier weights mostly in the range of lower heating value (#894)

## [0.5.5] - 2021-03-04

### Added
Expand Down Expand Up @@ -439,7 +542,6 @@ Here is a template for new release sections
- Create `src/mvs_eland/utils` subpackage (contains `constants.py`, `constants_json_string.py
`, `constants_output.py` (#501)


### Changed
- Changed structure for `E2.get_cost()` and complete disaggregation of the formulas used in it (#520)
- Added pytest for many `E2` functions (#520)
Expand Down
Loading

0 comments on commit b9f291a

Please sign in to comment.