solcore5 icon indicating copy to clipboard operation
solcore5 copied to clipboard

Future Solcore: preparing existing resources

Open dalonsoa opened this issue 1 year ago • 1 comments

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:

Solcore_roadmap

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 and tests/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.

dalonsoa avatar Oct 08 '22 23:10 dalonsoa

Codecov Report

Merging #227 (68454e7) into develop (6ab9925) will increase coverage by 0.81%. The diff coverage is 48.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

codecov[bot] avatar Oct 08 '22 23:10 codecov[bot]