solcore5
solcore5 copied to clipboard
Future Solcore: preparing existing resources
In preparation for Solcore 6, this PR brings together the existing improvements in the code - mostly thanks to a NumFOCUS short development grant - and makes them available within the solcore.future
subpackage.
These features - partly translating existing code into a more maintainable state - might be useful in isolation, but do not allow for an end-to-end simulation of a solar cell, yet. They are made available to check with the community the convenience and usability of the interface and to enable a progressive transition. Obviously, they are not for production.
The transition plan to Solcore 6, to be further elaborated and discussed with the community and stakeholders in the Wiki and the Discussion areas of the page is summarised in the following figure:
TODO before this PR can be merged and Solcore version 5.9 can be released:
- [ ] Run flake8, black, mypy and isort as pre-commit hooks ONLY in the
solcore.future
andtests/future
folders (and make sure that mypy and flake8 checks pass). - [ ] Complete missing tests for existing functionality.
- [ ] Add a
Future
section to the documentation - [ ] Add doctests and small test within the docstrings to run
- [ ] Make sure all docstrings follow google style
- [ ] Add docstrings to the modules under
solcore.future
including examples, such that the modules are self-documented.
Codecov Report
Merging #227 (68454e7) into develop (6ab9925) will increase coverage by
0.81%
. The diff coverage is48.68%
.
@@ Coverage Diff @@
## develop #227 +/- ##
===========================================
+ Coverage 48.52% 49.34% +0.81%
===========================================
Files 84 101 +17
Lines 9032 11041 +2009
===========================================
+ Hits 4383 5448 +1065
- Misses 4649 5593 +944
Impacted Files | Coverage Δ | |
---|---|---|
solcore/analytic_solar_cells/detailed_balance.py | 11.20% <0.00%> (ø) |
|
solcore/analytic_solar_cells/diode_equation.py | 14.10% <0.00%> (ø) |
|
solcore/future/junctions/da_junction.py | 0.00% <0.00%> (ø) |
|
solcore/future/junctions/two_diode_junction.py | 0.00% <0.00%> (ø) |
|
solcore/absorption_calculator/nk_db.py | 17.74% <50.00%> (-29.04%) |
:arrow_down: |
solcore/future/junction_base.py | 71.64% <71.64%> (ø) |
|
solcore/absorption_calculator/adachi_alpha.py | 76.28% <89.47%> (-1.38%) |
:arrow_down: |
solcore/future/material.py | 90.62% <90.62%> (ø) |
|
...bsorption_calculator/dielectric_constant_models.py | 75.32% <100.00%> (+0.16%) |
:arrow_up: |
...ore/absorption_calculator/rigorous_coupled_wave.py | 94.14% <100.00%> (+1.44%) |
:arrow_up: |
... and 32 more |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more