{"id":342287,"name":"PV_ICE","description":"An open-source tool to quantify Solar Photovoltaics (PV) Energy and Mass Flows in the Circular Economy, from a Reliability and Lifetime approach.","url":"https://github.com/natlabrockies/pv_ice","last_synced_at":"2026-04-03T11:01:12.303Z","repository":{"id":40959958,"uuid":"248347431","full_name":"NatLabRockies/PV_ICE","owner":"NatLabRockies","description":"An open-source tool to quantify Solar Photovoltaics (PV) Energy and Mass Flows in the Circular Economy, from a Reliability and Lifetime approach","archived":false,"fork":false,"pushed_at":"2026-03-04T01:53:33.000Z","size":595686,"stargazers_count":43,"open_issues_count":14,"forks_count":22,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-18T16:58:35.062Z","etag":null,"topics":["circular-economy","circularity","circularity-metrics","lifetime","mass-flow","photovoltaics","recycle","reliability","repair","reuse","solar-energy"],"latest_commit_sha":null,"homepage":"https://pv-ice.readthedocs.io/en/latest/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NatLabRockies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-18T21:31:34.000Z","updated_at":"2026-01-28T13:47:39.000Z","dependencies_parsed_at":"2024-06-13T05:43:52.098Z","dependency_job_id":"16a16346-897b-4740-9288-ca6738e02250","html_url":"https://github.com/NatLabRockies/PV_ICE","commit_stats":{"total_commits":1080,"total_committers":12,"mean_commits":90.0,"dds":0.5638888888888889,"last_synced_commit":"378a012a0602062ad52f14120d672f362dcc018a"},"previous_names":["natlabrockies/pv_ice","nrel/pv_ice"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/NatLabRockies/PV_ICE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FPV_ICE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FPV_ICE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FPV_ICE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FPV_ICE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NatLabRockies","download_url":"https://codeload.github.com/NatLabRockies/PV_ICE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FPV_ICE/sbom","scorecard":{"id":98290,"data":{"date":"2025-08-11","repo":{"name":"github.com/NREL/PV_ICE","commit":"378a012a0602062ad52f14120d672f362dcc018a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-to-pypi.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/pytest.yml:13","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"14 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2022-42991 / GHSA-v3c5-jqr6-7qm8","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish-to-pypi.yml:30"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/publish-to-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/publish-to-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/publish-to-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/publish-to-pypi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-to-pypi.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/publish-to-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/pytest.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/pytest.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pytest.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/NREL/PV_ICE/pytest.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-to-pypi.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/pytest.yml:35","Warn: pipCommand not pinned by hash: .github/workflows/pytest.yml:36","Warn: pipCommand not pinned by hash: .github/workflows/pytest.yml:37","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   4 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 8 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T09:34:10.837Z","repository_id":40959958,"created_at":"2025-08-15T09:34:10.837Z","updated_at":"2025-08-15T09:34:10.837Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30878264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-24T02:58:37.973Z","status":"ssl_error","status_checked_at":"2026-03-24T02:57:23.829Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"NatLabRockies","name":"National Laboratory of the Rockies","uuid":"1906800","kind":"organization","description":"","email":null,"website":"http://www.nrel.gov","location":"Golden, CO","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1906800?v=4","repositories_count":599,"last_synced_at":"2026-01-22T09:57:55.744Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/NatLabRockies","funding_links":[],"total_stars":9633,"followers":1309,"following":0,"created_at":"2022-11-02T20:42:15.539Z","updated_at":"2026-01-22T09:57:55.745Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NatLabRockies","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NatLabRockies/repositories"},"packages":[],"commits":{"id":11615142,"full_name":"natlabrockies/pv_ice","default_branch":"master","total_commits":1080,"total_committers":10,"total_bot_commits":2,"total_bot_committers":1,"mean_commits":108.0,"dds":0.5527777777777778,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-01T10:07:24.776Z","last_synced_commit":"378a012a0602062ad52f14120d672f362dcc018a","created_at":"2026-01-22T00:01:01.321Z","updated_at":"2026-04-01T10:06:00.429Z","committers":[{"name":"heathermirletz","email":"60519205+heathermirletz","login":"heathermirletz","count":483},{"name":"Silvana Ayala","email":"silvana.ayala@nrel.gov","login":"shirubana","count":475},{"name":"acadiajean","email":"58278671+acadiajean","login":"acadiajean","count":64},{"name":"macmribo","email":"98993577+macmribo","login":"macmribo","count":23},{"name":"Mirletz","email":"hmirletz@nrel.gov","login":null,"count":19},{"name":"Ayala","email":"sayala@nrel.gov","login":null,"count":11},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":2},{"name":"cdeline","email":"chris.deline@nrel.gov","login":"cdeline","count":1},{"name":"Jordan, Dirk","email":"Dirk.Jordan@nrel.gov","login":"dirkjordan","count":1},{"name":"Rachel Woods-Robinson","email":"rwoodsrobinson@lbl.gov","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/natlabrockies%2Fpv_ice/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-03T00:00:08.542Z","repositories_count":6210520,"commits_count":927017462,"contributors_count":35797796,"owners_count":1145009,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":null,"events":{"total":{"PushEvent":2},"last_year":{"PushEvent":2}},"keywords":["circular-economy","circularity","circularity-metrics","lifetime","mass-flow","photovoltaics","recycle","reliability","repair","reuse","solar-energy"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/pytest.yml","sha":null,"kind":"manifest","created_at":"2023-02-17T22:16:24.441Z","updated_at":"2023-02-17T22:16:24.441Z","repository_link":"https://github.com/NatLabRockies/PV_ICE/blob/main/.github/workflows/pytest.yml","dependencies":[{"id":7747588985,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7747588988,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7747588990,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-02-17T22:16:24.500Z","updated_at":"2023-02-17T22:16:24.500Z","repository_link":"https://github.com/NatLabRockies/PV_ICE/blob/main/requirements.txt","dependencies":[{"id":7747589132,"package_name":"configparser","ecosystem":"pypi","requirements":"==5.0.0","direct":true,"kind":"runtime","optional":false},{"id":7747589139,"package_name":"coverage","ecosystem":"pypi","requirements":"==5.1","direct":true,"kind":"runtime","optional":false},{"id":7747589147,"package_name":"matplotlib","ecosystem":"pypi","requirements":"==3.2.1","direct":true,"kind":"runtime","optional":false},{"id":7747589148,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.22.0","direct":true,"kind":"runtime","optional":false},{"id":7747589149,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"runtime","optional":false},{"id":7747589150,"package_name":"pytest","ecosystem":"pypi","requirements":"==5.4.1","direct":true,"kind":"runtime","optional":false},{"id":7747589151,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"==2.8.1","direct":true,"kind":"runtime","optional":false},{"id":7747589152,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.1","direct":true,"kind":"runtime","optional":false},{"id":7747589153,"package_name":"sphinx-autoapi","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7747589154,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"==0.4.3","direct":true,"kind":"runtime","optional":false},{"id":7747589155,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7747589156,"package_name":"future","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-02-17T22:16:24.610Z","updated_at":"2023-02-17T22:16:24.610Z","repository_link":"https://github.com/NatLabRockies/PV_ICE/blob/main/setup.py","dependencies":[{"id":7747589367,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7747589368,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7747589369,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7747589370,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7747589371,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:59:11.959Z","updated_at":"2023-09-21T19:59:11.959Z","repository_link":"https://github.com/NatLabRockies/PV_ICE/blob/main/pyproject.toml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/publish-to-pypi.yml","sha":null,"kind":"manifest","created_at":"2024-04-09T18:11:17.651Z","updated_at":"2024-04-09T18:11:17.651Z","repository_link":"https://github.com/NatLabRockies/PV_ICE/blob/main/.github/workflows/publish-to-pypi.yml","dependencies":[{"id":17332270422,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":17332270423,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":17332270424,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":17332270425,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":17332270426,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"training/requirements.txt","sha":null,"kind":"manifest","created_at":"2024-04-09T18:11:17.917Z","updated_at":"2024-04-09T18:11:17.917Z","repository_link":"https://github.com/NatLabRockies/PV_ICE/blob/main/training/requirements.txt","dependencies":[{"id":17332270429,"package_name":"jupyter-book","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17332270430,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":17332270431,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":6.345636360828596,"created_at":"2026-01-22T00:01:00.226Z","updated_at":"2026-04-03T11:01:12.305Z","avatar_url":"https://github.com/NatLabRockies.png","language":"HTML","category":"Renewable Energy","sub_category":"Photovoltaics and Solar Energy","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cimg src=\"docs/images_wiki/CE-MFC.png\" width=\"400\"\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n  \u003ctd\u003eVersion\u003c/td\u003e\n  \u003ctd\u003e\n  \u003ca href=\"https://zenodo.org/badge/latestdoi/248347431\"\u003e\u003cimg src=\"https://zenodo.org/badge/248347431.svg\" alt=\"DOI\"\u003e\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n  \u003ctd\u003eLicense\u003c/td\u003e\n  \u003ctd\u003e\n    \u003ca href=\"https://github.com/NREL/PV_ICE/blob/main/LICENSE.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/l/pvlib.svg\" alt=\"license\" /\u003e\n    \u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003eDocumentation\u003c/td\u003e\n  \u003ctd\u003e\n\t\u003ca href='https://pv-ice.readthedocs.io/en/latest/?badge=latest'\u003e\n\t    \u003cimg src='https://readthedocs.org/projects/pv-ice/badge/?version=latest' alt='Documentation Status' /\u003e\n\t\u003c/a\u003e\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n# PV ICE: PV in the Circular Economy, a Dynamic Energy and Materials Tool\n\nThis open-source tool explores the effects of Circular Economy (CE) pathways for photovoltaic (PV) materials. It can be used to quantify and assign a value framework to CE efforts including re-design, reduction, replacement, reuse, recycling, and lifetime and reliability improvements across the PV value chain. PV ICE enables tradeoff analysis through scenario comparisons, and is highly customizable through user inputs such as deployment schedules, module properties and component materials, and CE pathways.\n\nThe provided PV ICE module and material baselines leverage published data from many sources on PV manufacturing and predicted technological changes. Input data are being compiled [here](https://docs.google.com/spreadsheets/d/1Ec5JRBSN2NFXjEABgUp1ch-EG6uQao8j5Rk1MLuZZYI/edit?usp=sharing) and the baselines are available here for use in other projects as well as for the PV ICE tool.\n\n\nHow it Works\n=============\n\nThis section provides a brief description of how the PV ICE tool works. FULL DOCUMENTATION CAN BE FOUND AT [readthedocs](https://pv-ice.readthedocs.io/en/latest/?badge=latest).\n\n\nMass\n-----\n\nPV ICE is a dynamic mass flow based tool. It takes in any deployment forecast of any evolving module design along with it's component materials and uses sophisticated lifetime and reliability parameters to calculate effective capacity, virgin material demand, and life cycle wastes. The calculator captures all the mass flows shown in the simplified diagram below for all years studied in a simulation (ex: 2020-2050). \n\n\u003cimg src=\"docs/images_wiki/PV_ICE_diagram-simpleAltUpdate.png\" width=\"550\"\u003e\n\nAnnually deployed cohorts of modules are tracked through the simulation, subjected to lifetime, degradation, and reliability parameters, and guided along user defined CE pathways (ex: resell, recycling). The PV ICE framework is designed for scenario comparisons (ex: different deployment schedules, module designs, or circular pathways) and is capable of both geospatial and temporal analysis (i.e. when and where materials will be demanded or are available).\n\nModule and material properties are known to be variable with time, and PV ICE can capture this dynamic evolution of PV technology. Dynamic baseline inputs for crystalline silicon PV modules and component materials are provided in the PV_ICE \\ baselines folder. These baselines are dervied from [literature and report data](https://docs.google.com/spreadsheets/d/1Ec5JRBSN2NFXjEABgUp1ch-EG6uQao8j5Rk1MLuZZYI/edit?usp=sharing). Module baselines capture the annual average crystalline silicon module (i.e. a market share weighted average of the silicon PV technologies deployed). Each material similarly is a market share weighted average of silicon PV technologies, compiled from multiple sources, most notably consistent with ITRPV data. Please see the Jupyter Journals (tutorials \\ baseline development documentation) for the derivations and sources (baselines \\ SupportingMaterials) of the provided c-Si baselines. Alternate module and material files can be created by the user, and an expanded set of PV technology baselines is planned for the future, including CdTe and perovskites.\n\n\nEnergy\n-------\n\nThe energy balance of renewable energy technologies is as important and the mass balance when evaluating sustainability. Additionally, few studies of Circular Economy (CE) pathways consider the energy return on investment of a particular pathway. PV ICE energy flows fill this analysis gap, and provide useful insights into the potential tradeoffs between mass and energy of CE pathways.\n\nThe energy flows of PV ICE are based on the mass flows. These energy flows, like the mass flows, are dynamic with time and are seperated into module and material energies. For each supply chain process step captured in the mass flows, an energy per module area or energy per material mass is captured as an input (ex: module manufacturing energy, energy to manufacture rolled glass from silica sand, energy to crush a module for recycling ). The energy demanded for each step is the sum of all electrical energy demands and all fuel/heating energy demands. \n\nWe provide an energy baseline for crystalline silicon modules and component materials. Data for these baselines is being compiled from [literature and report data](https://docs.google.com/spreadsheets/d/1Ec5JRBSN2NFXjEABgUp1ch-EG6uQao8j5Rk1MLuZZYI/edit?usp=sharing). For the complete derivation of the energy demands for crystalline silicon modules and materials, please see the Jupyter Journals (tutorials \\ baseline development documentation) and (baselines \\ SupportingMaterials). Alternate module and material files can be created by the user, and an expanded set of PV technology baselines is planned for the future, including CdTe and perovskites.\n\nAfter running a mass flow simulation, an energy flow calculation can be run which will multiply the energy demands by the mass flows and calculate annual generation from the deployed modules. Results of this calculation provide annual, cumulative, and lifetime energy demands and energy generated. These values can be used to calculate energy balance metrics such as energy return on investment (EROI), net energy, and energy payback time (EPBT). These features are actively under development, so check back for updates soon!\n\n\nInstallation for PV ICE\n=======================\n\nPV ICE releases may be installed using the ``pip`` and ``conda`` tools.\nPlease see the [Installation page](http://PV_ICE.readthedocs.io/en/latest/installation.html) of the documentation for complete instructions.\n\nPV ICE is compatible with Python 3.5 and above.\n\nInstall with:\n\n    pip install PV_ICE\n\nFor developer installation, download the repository, navigate to the folder location and install as:\n\n    pip install -e .\n\n\nHow to Get Started\n===================\n\nA training video is available from the [\"2nd PV Circularity Workshop Proceedings training\"](https://tiny.url/2ndPVCircTrainingPVICE)\n\nAlternatively, after you have installed PV ICE, we recommend heading over to our tutorials jupyter journals (PV ICE \\ docs \\ tutorials). There you will find journals [\"0 - quick start Example\"](https://github.com/NREL/PV_ICE/blob/development/docs/tutorials/0%20-%20quickStart%20Example.ipynb) and [\"1 - Beginner Example\"](https://github.com/NREL/PV_ICE/blob/development/docs/tutorials/1%20-%20Beginner%20Example.ipynb) which can help guide you through your first simulation using the PV ICE provided crystalline silicon PV baselines. In journals 2-4 we walk you through modifications to the basic simulation, including modifying parameters with PV ICE functions to suit your analysis needs.\n\nSome Analyses Featuring/Leveraging PV ICE\n==========================================\n\nPV ICE has been used in a variety of published analyses, including:\n\n**High Impact Report: The Solar Futures Report and Circular Economy Technical Report**\n\n    Ardani, Kristen, Paul Denholm, Trieu Mai, Robert Margolis, \n    Eric O’Shaughnessy, Timothy Silverman, and Jarett Zuboy. 2021. \n    “Solar Futures Study.” EERE DOE. \n    https://www.energy.gov/eere/solar/solar-futures-study.\n\n    Heath, Garvin, Dwarakanath Ravikumar, Silvana Ovaitt, \n    Leroy Walston, Taylor Curtis, Dev Millstein, Heather Mirletz, \n    Heidi Hartman, and James McCall. 2022. \n    “Environmental and Circular Economy Implications of Solar Energy\n     in a Decarbonized U.S. Grid.” NREL/TP-6A20-80818. NREL.\n\n**Peer Reviewed Journals**\n\n    H. Mirletz, S. Ovaitt, S. Sridhar, and T. M. Barnes. 2022. \n    “Circular Economy Priorities for Photovoltaics in the Energy Transition.” \n    PLOS ONE 17 (9): e0274351. https://doi.org/10.1371/journal.pone.0274351.\n\n    S. Ovaitt \u0026 H. Mirletz, S. Seetharaman, and T. Barnes, \n    “PV in the Circular Economy, A Dynamic Framework Analyzing \n    Technology Evolution and Reliability Impacts,” \n    ISCIENCE, Jan. 2022, doi: https://doi.org/10.1016/j.isci.2021.103488.\n\n\nThere are other multiple publications citing PV ICE like PVSC, PVRW, etc. Please see the list in the [readthedocs](http://CircularEconomy-MassFlowCalculator.readthedocs.io/en/latest/) documentation.\n \n\n\nContributing\n============\n\nWe need your help to make PV ICE a great tool!\nPlease see the [Contributing page](http://PV_ICE.readthedocs.io/en/stable/contributing.html) for more on how you can contribute.\nThe long-term success of PV ICE requires substantial community support.\n\n\nLicense\n=======\n\nPV_ICE open-source code is copyrighted by the Alliance for Sustainable Energy and licensed with BSD-3-Clause terms, found [here](https://github.com/NREL/PV_ICE/blob/main/LICENSE.md).\n\n\nGetting support\n===============\n\nIf you suspect that you may have discovered a bug or if you'd like to\nchange something about CF-MFA, then please make an issue on our\n[GitHub issues page](https://github.com/NREL/PV_ICe/issues).\n\n\nCiting\n======\n\nIf you use PV_ICE in a published work, please cite:\n\n    S. Ovaitt \u0026 H. Mirletz, S. Seetharaman, and T. Barnes, \n    “PV in the Circular Economy, A Dynamic Framework Analyzing \n    Technology Evolution and Reliability Impacts,” \n    ISCIENCE, Jan. 2022, doi: https://doi.org/10.1016/j.isci.2021.103488.\n\n\nand also please also cite the DOI corresponding to the specific version of\nPV_ICE that you used. PV_ICE DOIs are listed at\n[Zenodo.org](https://zenodo.org/badge/latestdoi/248347431). For example for version 0.4.3:\n\n\tMirletz, H., \u0026 Silvana Ovaitt. (2024). \n \tNREL/PV_ICE: 0.4.3 (0.4.3). \n  \tZenodo. https://doi.org/10.5281/zenodo.13751195\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1371/journal.pone.0274351","https://doi.org/10.1016/j.isci.2021.103488","https://doi.org/10.5281/zenodo.13751195"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["bifacial","radiance","renewable-energy","renewables"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/342287","html_url":"https://ost.ecosyste.ms/projects/342287"}