{"id":1607,"name":"reflective-potential","description":"An empirical analysis of Earth's annual-average surface reflectivity potential.","url":"https://github.com/ReflectiveEarth/reflective-potential","last_synced_at":"2026-04-14T22:30:19.030Z","repository":{"id":37802828,"uuid":"373627024","full_name":"ReflectiveEarth/reflective-potential","owner":"ReflectiveEarth","description":"An empirical analysis of Earth's annual-average surface reflectivity potential","archived":false,"fork":false,"pushed_at":"2025-06-30T02:44:27.000Z","size":252795,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-01T16:02:19.198Z","etag":null,"topics":["albedo","albedo-maps","climate","climate-data","climate-science"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause-clear","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReflectiveEarth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["reflectiveearth.org"]}},"created_at":"2021-06-03T20:01:44.000Z","updated_at":"2025-06-30T00:35:26.000Z","dependencies_parsed_at":"2025-07-14T03:41:04.203Z","dependency_job_id":null,"html_url":"https://github.com/ReflectiveEarth/reflective-potential","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ReflectiveEarth/reflective-potential","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReflectiveEarth","download_url":"https://codeload.github.com/ReflectiveEarth/reflective-potential/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31524531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"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":"ReflectiveEarth","name":"Reflective Earth","uuid":"77813879","kind":"organization","description":"We're on a mission to slow global warming right now! With innovations small and large, we can reduce global warming by increasing Earth's reflectivity.","email":null,"website":"https://reflectiveearth.org","location":"Earth","twitter":"ReflectiveEarth","company":null,"icon_url":"https://avatars.githubusercontent.com/u/77813879?v=4","repositories_count":1,"last_synced_at":"2023-03-05T20:58:48.922Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ReflectiveEarth","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T22:47:57.004Z","updated_at":"2023-03-05T20:58:48.928Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReflectiveEarth","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReflectiveEarth/repositories"},"packages":[],"commits":{"id":1318587,"full_name":"ReflectiveEarth/reflective-potential","default_branch":"main","total_commits":34,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":17.0,"dds":0.02941176470588236,"past_year_total_commits":1,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.0,"last_synced_at":"2026-04-13T17:58:11.850Z","last_synced_commit":"5d2609d7fcfaa167b8325beb56f6ed9dd7e66d37","created_at":"2023-09-11T14:24:39.308Z","updated_at":"2026-04-13T17:58:10.814Z","committers":[{"name":"Brian Smoliak","email":"brian@reflectiveearth.org","login":"bsmoliak","count":33},{"name":"LNSY","email":"41439429+lindseymysse","login":"lindseymysse","count":1}],"past_year_committers":[{"name":"Brian Smoliak","email":"brian@reflectiveearth.org","login":"bsmoliak","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-13T00:00:06.408Z","repositories_count":6213067,"commits_count":903857731,"contributors_count":34932923,"owners_count":1144142,"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":{"full_name":"ReflectiveEarth/reflective-potential","html_url":"https://github.com/ReflectiveEarth/reflective-potential","last_synced_at":"2026-04-05T18:00:22.114Z","status":"error","issues_count":10,"pull_requests_count":14,"avg_time_to_close_issue":4160059.888888889,"avg_time_to_close_pull_request":1462148.7142857143,"issues_closed_count":9,"pull_requests_closed_count":14,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":14,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":19615619.0,"past_year_avg_time_to_close_pull_request":19447813.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-09-11T14:24:41.336Z","updated_at":"2026-04-05T18:00:22.114Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReflectiveEarth%2Freflective-potential/issues","issue_labels_count":{"enhancement":5,"bug":3,"documentation":2},"pull_request_labels_count":{"enhancement":9,"bug":4,"documentation":3},"issue_author_associations_count":{"CONTRIBUTOR":10},"pull_request_author_associations_count":{"CONTRIBUTOR":15},"issue_authors":{"bsmoliak":10},"pull_request_authors":{"bsmoliak":14,"lindseyjohnasterius":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:10.509Z","repositories_count":14168959,"issues_count":34547286,"pull_requests_count":112988799,"authors_count":11231467,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"IssuesEvent":3,"WatchEvent":2,"PushEvent":5,"PullRequestEvent":2,"CreateEvent":3},"last_year":{"IssuesEvent":1,"PushEvent":1,"PullRequestEvent":1,"CreateEvent":1}},"keywords":["albedo","albedo-maps","climate","climate-data","climate-science"],"dependencies":[],"score":2.3025850929940455,"created_at":"2023-09-11T14:24:37.463Z","updated_at":"2026-04-14T22:30:19.065Z","avatar_url":"https://github.com/ReflectiveEarth.png","language":"Jupyter Notebook","category":"Atmosphere","sub_category":"Radiative Transfer","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# reflective-potential\n\n### An empirical analysis of Earth's surface reflectivity potential\n\n[![DOI](https://zenodo.org/badge/373627024.svg)](https://zenodo.org/badge/latestdoi/373627024)\n\n\u003e Contains modified [Copernicus Climate Change Service][copernicus]\n\u003e information obtained in 2021. Neither the European Commission nor\n\u003e ECMWF is responsible for any use that may be made of the Copernicus\n\u003e information or data it contains.\n\nReflective Earth is on a mission to slow global warming as fast and safely as\npossible by increasing Earth's reflectivity to reduce its energy imbalance.\nReflectivity interventions reduce the amount of sunlight absorbed by the Earth\nsystem, i.e. the amount of energy entering the system. Deploying reflective\nmaterials as a stop gap could limit the amount of warming experienced by people\nand buy society time to reduce greenhouse gas emissions and drawdown atmospheric\ngreenhouse gas concentrations.\n\nThe potential of reflective materials to reflect sunlight strongly depends on\nlocation. The amount of incoming solar radiation varies greatly, with more\nbeing received in the tropics and less being received at the poles. Clouds,\nwater vapor, and aerosols (e.g. dust, smoke) scatter and absorb sunlight. These\nproperties vary spatially as well.\n\nThis code repository contains workflows to estimate the potential of Earth's\nsurface to reflect incoming sunlight back out to space. We use data from the\nEuropean Centre for Medium-Range Weather Forecasts (ECMWF) fifth generation\nreanalysis product (ERA5) and National Aeronautics and Space Administration\n(NASA) Clouds and the Earth's Radiant Energy System (CERES) Energy Balanced\nand Filled (EBAF) satellite-derived product, specifically radiative fluxes at\nthe surface and top of atmosphere. This allows us to estimate surface\nreflectance and atmospheric transmittance and reflectance. When averaged over\nseveral decades, these properties can be combined with incoming solar radiation\nand surface albedo to model the potential surface-reflected outgoing solar\nradiation:\n\n![ROM][rom]\n\n## Repository Structure\n\n* `assets` - deliverable data and images\n* `environments` - conda / mamba environment files for macOS and linux\n* `notebooks` - jupyter notebooks for each step of the workflow\n  * `01-Ingest` - data download from Copernicus Climate Change Service and\n    upload to Google Cloud\n  * `02-Preprocess` - data averaging from hourly-means to annual-means\n  * `03-Analyze` - data transformation through a simple model of reflected\n    radiation\n  * `04-Validate` - replicate results with an independent dataset\n  * `05-Visualize` - data visualization for publication\n  * `utils.py` - utility functions\n* `CHANGELOG` - chronologically ordered list of notable changes\n* `CODE_OF_CONDUCT` - the code of conduct that contributors and maintainers\n  pledge to follow\n* `CONTRIBUTING` - guidelines for making your own contribution to this project\n* `LICENSE` - open source license\n* `README` - overview, repo structure, developer setup, and prerequisites\n* `SUPPORT` - guidance on how to request help with this project\n\n## Developer Setup\n\n1. Clone and change directory to the reflective-potential repo.\n   * `git clone https://github.com/ReflectiveEarth/reflective-potential.git`\n   * `cd reflective-potential`\n2. Create and activate the `conda`/`mamba` environment corresponding to the\n   notebook you would like to run.\n   * e.g. environment for `01-ingest.ipynb`\n     * `{conda | mamba} env create --file environment/{linux | macos}.ingest.environment.yml`\n     * `conda activate ingest`\n3. Launch Jupyter Lab.\n   * `jupyter lab`\n4. Open and run the  notebooks in the eponymous directory.\n   * *N.B.* additional setup may be required. See the *Preliminaries* section of\n     each notebook.\n\n### Prerequisites\n\n* A Google Account in order to access Google Cloud Platform.\n* A Google Cloud project with billing enabled. *Requester Pays* is turned on for\n  all Google Cloud Storage buckets in this repo. Google Cloud Storage requests\n  will incur charges.\n* Optionally, [conda][conda] or [mamba][mamba] to manage package dependencies.\n* Optionally, one or more Google Cloud Storage buckets to store project data.\n* Optionally, a Copernicus Climate Data Store Account to ingest C3S data.\n\n## Support\n\nRead the [support][support] guidelines for guidance on how to reach out for help\nwith this project.\n\n## Contributing\n\nWe welcome contributions that improve the quality of our code and/or science.\nBefore you dive in, read the [contribution][contributing] guidelines.\n\n## Code of Conduct\n\nThis project has a [code of conduct][conduct]. By interacting with this\nrepository, organization, or community you agree to abide by its terms.\n\n## License\n\n[Clear BSD][license] © 2021-2024 [Reflective Earth][author]\n\n\u003c!-- Definitions --\u003e\n\n[author]: https://www.reflectiveearth.org\n[conduct]: CODE_OF_CONDUCT.md\n[conda]: https://docs.conda.io/en/latest/miniconda.html\n[contributing]: CONTRIBUTING.md\n[copernicus]: https://climate.copernicus.eu/\n[license]: LICENSE.md\n[mamba]: https://mamba.readthedocs.io/en/latest/\n[rom]: assets/ROM_v043.png\n[support]: SUPPORT.md\n","funding_links":["reflectiveearth.org"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/1607","html_url":"https://ost.ecosyste.ms/projects/1607"}