{"id":354351,"name":"AMOCatlas","description":"Provides a unified system to access and process data from major Atlantic Meridional Overturning Circulation (AMOC) observing arrays.","url":"https://github.com/amoccommunity/amocatlas","last_synced_at":"2026-05-20T04:04:59.728Z","repository":{"id":287382366,"uuid":"964549523","full_name":"AMOCcommunity/AMOCatlas","owner":"AMOCcommunity","description":"Basic repository for reading transport datasets for the Atlantic Meridional Overturning Circulation (AMOC).","archived":false,"fork":false,"pushed_at":"2026-05-08T11:00:12.000Z","size":186341,"stargazers_count":11,"open_issues_count":5,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-05-16T02:48:21.079Z","etag":null,"topics":["amoc","circulation","moc","oceanography","oceansites","python"],"latest_commit_sha":null,"homepage":"https://amoccommunity.github.io/AMOCatlas/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AMOCcommunity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","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":"2025-04-11T11:46:54.000Z","updated_at":"2026-05-10T18:32:44.000Z","dependencies_parsed_at":"2025-04-11T13:17:48.802Z","dependency_job_id":"4c700991-bad6-459e-8d0f-9bc854d3fd98","html_url":"https://github.com/AMOCcommunity/AMOCatlas","commit_stats":null,"previous_names":["eleanorfrajka/moc-transport","amoccommunity/amocatlas"],"tags_count":10,"template":false,"template_full_name":"eleanorfrajka/template-project","purl":"pkg:github/AMOCcommunity/AMOCatlas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMOCcommunity","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33163413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"AMOCcommunity","name":"AMOC community","uuid":"191322482","kind":"organization","description":"A github community for analysis of the Atlantic meridional overturning circulation.","email":null,"website":"http://github.com/AMOCcommunity","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/191322482?v=4","repositories_count":1,"last_synced_at":"2025-04-11T13:16:04.661Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/AMOCcommunity","funding_links":[],"total_stars":0,"followers":0,"following":0,"created_at":"2025-04-11T13:16:04.682Z","updated_at":"2025-04-11T13:16:04.682Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMOCcommunity","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMOCcommunity/repositories"},"packages":[{"id":12144615,"name":"amocatlas","ecosystem":"pypi","description":"Python project to read data from arrays measuring the Atlantic meridional overturning circulation","homepage":null,"licenses":"MIT License\n        \n        Copyright (c) 2024-2025 Eleanor Frajka-Williams, Isabelle Schmitz\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ","normalized_licenses":["Other"],"repository_url":"https://github.com/AMOCcommunity/AMOCatlas","keywords_array":[],"namespace":null,"versions_count":4,"first_release_published_at":"2025-09-26T05:18:43.000Z","latest_release_published_at":"2026-02-10T09:48:07.000Z","latest_release_number":"0.3.0","last_synced_at":"2026-05-18T03:04:22.036Z","created_at":"2025-09-26T05:32:13.578Z","updated_at":"2026-05-18T03:06:01.668Z","registry_url":"https://pypi.org/project/amocatlas/","install_command":"pip install amocatlas --index-url https://pypi.org/simple","documentation_url":"https://amocatlas.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.9"],"normalized_name":"amocatlas","project_status":null},"repo_metadata":{"id":287382366,"uuid":"964549523","full_name":"AMOCcommunity/AMOCatlas","owner":"AMOCcommunity","description":"Basic repository for reading transport datasets for the Atlantic Meridional Overturning Circulation (AMOC).","archived":false,"fork":false,"pushed_at":"2026-05-08T11:00:12.000Z","size":186341,"stargazers_count":11,"open_issues_count":5,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-05-16T02:48:21.079Z","etag":null,"topics":["amoc","circulation","moc","oceanography","oceansites","python"],"latest_commit_sha":null,"homepage":"https://amoccommunity.github.io/AMOCatlas/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AMOCcommunity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","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":"2025-04-11T11:46:54.000Z","updated_at":"2026-05-10T18:32:44.000Z","dependencies_parsed_at":"2025-04-11T13:17:48.802Z","dependency_job_id":"4c700991-bad6-459e-8d0f-9bc854d3fd98","html_url":"https://github.com/AMOCcommunity/AMOCatlas","commit_stats":null,"previous_names":["eleanorfrajka/moc-transport","amoccommunity/amocatlas"],"tags_count":10,"template":false,"template_full_name":"eleanorfrajka/template-project","purl":"pkg:github/AMOCcommunity/AMOCatlas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMOCcommunity","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33163414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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_record":{"login":"AMOCcommunity","name":"AMOC community","uuid":"191322482","kind":"organization","description":"A github community for analysis of the Atlantic meridional overturning circulation.","email":null,"website":"http://github.com/AMOCcommunity","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/191322482?v=4","repositories_count":1,"last_synced_at":"2025-04-11T13:16:04.661Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/AMOCcommunity","funding_links":[],"total_stars":0,"followers":0,"following":0,"created_at":"2025-04-11T13:16:04.682Z","updated_at":"2025-04-11T13:16:04.682Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMOCcommunity","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMOCcommunity/repositories"},"tags":[{"name":"v0.3.0","sha":"b585110c08684d629528c0a8f586c2b76480dd3b","kind":"commit","published_at":"2026-02-10T09:36:04.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.3.0","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"f7c288ff3dcf5b13bbd6f0e0239b4965229e9c34","kind":"commit","published_at":"2026-02-04T21:38:10.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.2.0","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"4dd0259a9cf554d47ffc215b70d7a4615512b73d","kind":"commit","published_at":"2025-09-26T05:10:57.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.1.1","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.1.1/manifests"},{"name":"v0.0.4","sha":"6187413278fe107fc60a6e102660ad79e05c517f","kind":"commit","published_at":"2025-07-06T04:35:26.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.0.4","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"e261c9e2df76766adc1ce6cbca9b4480d5fa26de","kind":"commit","published_at":"2025-04-13T19:52:18.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.0.3","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.3/manifests"},{"name":"v0.0.2a6","sha":"0cb4246c072a89f9457d63ce0419a8cd14dd48be","kind":"commit","published_at":"2025-04-12T06:43:26.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.0.2a6","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.0.2a6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.0.2a6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a6/manifests"},{"name":"v0.0.2a3","sha":"cfbf8148cdbc7883b4fbe92eb9a0e2b0dac600ac","kind":"commit","published_at":"2025-04-12T06:15:27.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.0.2a3","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.0.2a3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.0.2a3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a3/manifests"},{"name":"v0.0.2a2","sha":"b62ead74d1afd717fb081477ca7f39033e7b413d","kind":"commit","published_at":"2025-04-12T06:02:38.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.0.2a2","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.0.2a2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.0.2a2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a2/manifests"},{"name":"v0.0.2a1","sha":"a32e068daedd1ac48a2c63dee685536642b15472","kind":"commit","published_at":"2025-04-12T05:37:03.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.0.2a1","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.0.2a1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.0.2a1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.2a1/manifests"},{"name":"v0.0.1a","sha":"612a079fbd9a9420e70e1ecf636513f3d0a3475d","kind":"commit","published_at":"2025-04-11T19:55:00.000Z","download_url":"https://codeload.github.com/AMOCcommunity/AMOCatlas/tar.gz/v0.0.1a","html_url":"https://github.com/AMOCcommunity/AMOCatlas/releases/tag/v0.0.1a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/AMOCcommunity/AMOCatlas@v0.0.1a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.1a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/tags/v0.0.1a/manifests"}]},"repo_metadata_updated_at":"2026-05-18T03:06:01.667Z","dependent_packages_count":0,"downloads":82,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":48.159270639473014,"dependent_packages_count":8.520485294358426,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":28.339877966915722},"purl":"pkg:pypi/amocatlas","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/amocatlas","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/amocatlas","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/amocatlas/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-16T02:04:29.680Z","issues_count":7,"pull_requests_count":12,"avg_time_to_close_issue":4441624.666666667,"avg_time_to_close_pull_request":10170.2,"issues_closed_count":6,"pull_requests_closed_count":10,"pull_request_authors_count":2,"issue_authors_count":2,"avg_comments_per_issue":0.14285714285714285,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":4441624.666666667,"past_year_avg_time_to_close_pull_request":10170.2,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.14285714285714285,"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":9,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/issues","maintainers":[{"login":"eleanorfrajka","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eleanorfrajka"},{"login":"isaschmitz","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/isaschmitz"}],"active_maintainers":[{"login":"eleanorfrajka","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eleanorfrajka"},{"login":"isaschmitz","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/isaschmitz"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/amocatlas/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/amocatlas/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/amocatlas/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/amocatlas/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/amocatlas/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/amocatlas/codemeta","maintainers":[{"uuid":"eleanorfrajka","login":"eleanorfrajka","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/eleanorfrajka/","role":null,"created_at":"2025-09-26T21:17:01.395Z","updated_at":"2025-09-26T21:17:01.395Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/eleanorfrajka/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":867608,"maintainers_count":370863,"namespaces_count":0,"keywords_count":280639,"github":"pypi","metadata":{"funded_packages_count":53810},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-05-13T05:09:37.527Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":11437165,"full_name":"AMOCcommunity/AMOCatlas","default_branch":"master","total_commits":114,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":22.8,"dds":0.2192982456140351,"past_year_total_commits":49,"past_year_total_committers":5,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":9.8,"past_year_dds":0.3877551020408163,"last_synced_at":"2026-05-18T03:06:06.256Z","last_synced_commit":"ab0c03a2f2a88fbaf9dc9f4cdae76661acfdb2c6","created_at":"2025-10-02T18:51:16.889Z","updated_at":"2026-05-18T03:06:06.185Z","committers":[{"name":"Eleanor Frajka-Williams","email":"eleanorfrajka@gmail.com","login":"eleanorfrajka","count":89},{"name":"Isabelle Schmitz","email":"isabelle.sh@gmx.de","login":"isaschmitz","count":21},{"name":"Joel Bracamontes Ramirez","email":"joelbra.92@gmail.com","login":"joelbracamontes","count":2},{"name":"susiebrn","email":"susie.brunier@studium.uni-hamburg.de","login":"susiebrn","count":1},{"name":"Shane Elipot","email":"selipot@miami.edu","login":"selipot","count":1}],"past_year_committers":[{"name":"Eleanor Frajka-Williams","email":"eleanorfrajka@gmail.com","login":"eleanorfrajka","count":30},{"name":"Isabelle Schmitz","email":"isabelle.sh@gmx.de","login":"isaschmitz","count":15},{"name":"Joel Bracamontes Ramirez","email":"joelbra.92@gmail.com","login":"joelbracamontes","count":2},{"name":"susiebrn","email":"susie.brunier@studium.uni-hamburg.de","login":"susiebrn","count":1},{"name":"Shane Elipot","email":"selipot@miami.edu","login":"selipot","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-20T00:00:33.744Z","repositories_count":6236699,"commits_count":884228957,"contributors_count":34884503,"owners_count":1154970,"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":"AMOCcommunity/AMOCatlas","html_url":"https://github.com/AMOCcommunity/AMOCatlas","last_synced_at":"2026-05-18T03:03:52.616Z","status":"active","issues_count":7,"pull_requests_count":13,"avg_time_to_close_issue":4441624.666666667,"avg_time_to_close_pull_request":10170.2,"issues_closed_count":6,"pull_requests_closed_count":10,"pull_request_authors_count":2,"issue_authors_count":2,"avg_comments_per_issue":0.14285714285714285,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":13,"past_year_avg_time_to_close_issue":4441624.666666667,"past_year_avg_time_to_close_pull_request":10170.2,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.14285714285714285,"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":9,"created_at":"2025-09-26T12:36:24.963Z","updated_at":"2026-05-18T03:03:52.616Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMOCcommunity%2FAMOCatlas/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"COLLABORATOR":7},"pull_request_author_associations_count":{"COLLABORATOR":13},"issue_authors":{"eleanorfrajka":4,"isaschmitz":3},"pull_request_authors":{"isaschmitz":7,"eleanorfrajka":6},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-20T00:00:29.037Z","repositories_count":14638664,"issues_count":34022302,"pull_requests_count":111502829,"authors_count":11266998,"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":{"COLLABORATOR":7},"past_year_pull_request_author_associations_count":{"COLLABORATOR":13},"past_year_issue_authors":{"eleanorfrajka":4,"isaschmitz":3},"past_year_pull_request_authors":{"isaschmitz":7,"eleanorfrajka":6},"maintainers":[{"login":"isaschmitz","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/isaschmitz"},{"login":"eleanorfrajka","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eleanorfrajka"}],"active_maintainers":[{"login":"eleanorfrajka","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eleanorfrajka"},{"login":"isaschmitz","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/isaschmitz"}]},"events":{"total":{"ReleaseEvent":2,"DeleteEvent":15,"PullRequestEvent":23,"IssuesEvent":8,"WatchEvent":3,"IssueCommentEvent":3,"PushEvent":51,"PullRequestReviewCommentEvent":56,"PullRequestReviewEvent":20,"CreateEvent":13},"last_year":{"ReleaseEvent":2,"DeleteEvent":15,"PullRequestEvent":23,"IssuesEvent":8,"WatchEvent":3,"IssueCommentEvent":3,"PushEvent":51,"PullRequestReviewCommentEvent":56,"PullRequestReviewEvent":20,"CreateEvent":13}},"keywords":["amoc","circulation","moc","oceanography","oceansites","python"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/docs.yml","sha":null,"kind":"manifest","created_at":"2025-04-11T13:17:42.624Z","updated_at":"2025-04-11T13:17:42.624Z","repository_link":"https://github.com/AMOCcommunity/AMOCatlas/blob/main/.github/workflows/docs.yml","dependencies":[{"id":22641140083,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":22641140084,"package_name":"mamba-org/setup-micromamba","ecosystem":"actions","requirements":"v2.0.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docs_deploy.yml","sha":null,"kind":"manifest","created_at":"2025-04-11T13:17:42.797Z","updated_at":"2025-04-11T13:17:42.797Z","repository_link":"https://github.com/AMOCcommunity/AMOCatlas/blob/main/.github/workflows/docs_deploy.yml","dependencies":[{"id":22641140280,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":22641140281,"package_name":"mamba-org/setup-micromamba","ecosystem":"actions","requirements":"v2.0.1","direct":true,"kind":"composite","optional":false},{"id":22641140282,"package_name":"peaceiris/actions-gh-pages","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pypi.yml","sha":null,"kind":"manifest","created_at":"2025-04-11T13:17:43.257Z","updated_at":"2025-04-11T13:17:43.257Z","repository_link":"https://github.com/AMOCcommunity/AMOCatlas/blob/main/.github/workflows/pypi.yml","dependencies":[{"id":22641140297,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":22641140298,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":22641140299,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2025-04-11T13:17:43.679Z","updated_at":"2025-04-11T13:17:43.679Z","repository_link":"https://github.com/AMOCcommunity/AMOCatlas/blob/main/.github/workflows/tests.yml","dependencies":[{"id":22641140314,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":22641140315,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2025-04-11T13:17:43.811Z","updated_at":"2025-04-11T13:17:43.811Z","repository_link":"https://github.com/AMOCcommunity/AMOCatlas/blob/main/pyproject.toml","dependencies":[]},{"ecosystem":"pypi","filepath":"requirements-dev.txt","sha":null,"kind":"manifest","created_at":"2025-04-11T13:17:44.125Z","updated_at":"2025-04-11T13:17:44.125Z","repository_link":"https://github.com/AMOCcommunity/AMOCatlas/blob/main/requirements-dev.txt","dependencies":[{"id":22641140432,"package_name":"netcdf4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140456,"package_name":"importlib_resources","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140457,"package_name":"pooch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140458,"package_name":"xarray","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140459,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140460,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140461,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140462,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140463,"package_name":"gsw","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140524,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140525,"package_name":"cartopy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641140526,"package_name":"cmocean","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141247,"package_name":"jupyterlab","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141248,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141249,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141250,"package_name":"nbsphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141251,"package_name":"nbconvert","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141252,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141253,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141254,"package_name":"pypandoc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false},{"id":22641141255,"package_name":"myst-nb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2025-04-11T13:17:48.187Z","updated_at":"2025-04-11T13:17:48.187Z","repository_link":"https://github.com/AMOCcommunity/AMOCatlas/blob/main/requirements.txt","dependencies":[{"id":22641142408,"package_name":"netcdf4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142627,"package_name":"pooch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142628,"package_name":"xarray","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142629,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142630,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142631,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142632,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142633,"package_name":"gsw","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142634,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142635,"package_name":"cartopy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":22641142636,"package_name":"cmocean","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":8.80086724247048,"created_at":"2026-05-10T18:37:28.192Z","updated_at":"2026-05-20T04:04:59.738Z","avatar_url":"https://github.com/AMOCcommunity.png","language":"Jupyter Notebook","category":"Hydrosphere","sub_category":"Ocean and Hydrology Data Access","monthly_downloads":82,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# AMOCatlas\n\n\n[![PyPI version](https://img.shields.io/pypi/v/AMOCatlas.svg)](https://pypi.org/project/AMOCatlas/)\n[![Python](https://img.shields.io/pypi/pyversions/AMOCatlas.svg)](https://pypi.org/project/AMOCatlas/)\n[![License](https://img.shields.io/github/license/AMOCcommunity/amocatlas.svg)](LICENSE)\n\n**Standardized, modular loading of AMOC observing array datasets, with optional structured logging and metadata enrichment.**\n\nAMOCatlas provides a unified system to access and process data from major Atlantic Meridional Overturning Circulation (AMOC) observing arrays. The Atlantic Meridional Overturning Circulation is a critical component of Earth's climate system, transporting heat northward in the Atlantic Ocean. This project enables researchers to easily access, analyze, and visualize data from key monitoring stations.\n\nThis is a work in progress, all contributions welcome!\n\n## Table of Contents\n- [Features](#features)\n- [Supported Arrays](#supported-arrays)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Documentation](#documentation)\n- [Development](#development)\n- [Funding \u0026 Support](#funding--support)\n- [Acknowledgements](#acknowledgements)\n- [Contributing](#contributing)\n\n## Features\n\n- 🌊 **Unified Data Access**: Single interface for multiple AMOC observing arrays\n- 📊 **Automatic Data Download**: Intelligent caching system prevents redundant downloads\n- 📝 **Structured Logging**: Per-dataset logging for reproducible workflows\n- 🔍 **Metadata Enrichment**: Enhanced datasets with processing timestamps and source information\n- 📈 **Visualization Tools**: Built-in plotting functions with consistent styling\n- 🧪 **Sample Datasets**: Quick access to example data for testing and development\n\n## Available Data Sources\n\n| Data Source | Location | Description | Read Command |\n|-------------|----------|-------------|--------------|\n| **RAPID** | 26°N | MOC and overturning transports since 2004 | `read.rapid()` |\n| **MOCHA** | 26°N | Meridional Heat transport since 2004 | `read.mocha()` |\n| **MOVE** | 16°N | Meridional overturning since 2001 | `read.move()` |\n| **OSNAP** | Subpolar North Atlantic | Meridional overturning since 2014 | `read.osnap()` |\n| **SAMBA** | 34.5°S | South Atlantic MOC *anomaly* | `read.samba()` |\n| **41°N Array** | 41°N | Meridional overturning from Argo + altimetry | `read.wh41n()` |\n| **NOAC 47°N** | 47°N | North Atlantic Ocean Current - MOC | `read.noac47n()` |\n| **DSO** | Denmark Strait | Overflow transport | `read.dso()` |\n| **FBC** | Faroe Bank Channel | Overflow transport monitoring | `read.fbc()` |\n| **Arctic Gateway** | Arctic Ocean | Pan-Arctic gateway transports | `read.arcticgateway()` |\n| **FW2015** | 26°N | Frajka-Williams 2015 satellite-cable dataset at 26°N | `read.fw2015()` |\n| **CALAFAT2025** | Atlantic | Bayesian estimates of Atlantic meridional heat transport spanning latitudes | `read.calafat2025()` |\n| **ZHENG2024** | Atlantic | Observation-based Atlantic meridional freshwater transport spanning latitudes | `read.zheng2024()` |\n\nFor more detail on the AMOC and observing arrays, see: \n\n  - UCAR overview: https://climatedataguide.ucar.edu/climate-data/observations-atlantic-meridional-overturning-circulation-amoc\n  - AtlantOS/OceanSITES: https://www.ocean-ops.org/oceansites/tma/index.html\n\n## Installation\n\n### From PyPI (Recommended)\n```bash\npip install AMOCatlas\n```\n\n**Requirements**: Python ≥3.9, with numpy, pandas, xarray, and matplotlib.\n\n### For Development\n```bash\ngit clone https://github.com/AMOCcommunity/amocatlas.git\ncd amocatlas\npip install -r requirements-dev.txt\npip install -e .\n```\n\nThis installs amocatlas locally. The `-e` ensures that any edits you make in the files will be picked up by scripts that import functions from amocatlas.\n\n## Quick Start\n\n### Load Sample Data\n```python\nfrom amocatlas import read\n\n# Load RAPID sample dataset (new API - recommended)\nds = read.rapid()\nprint(ds)\n\n# Or use the legacy API\nfrom amocatlas import readers\nds = readers.load_sample_dataset(\"rapid\")\n```\n\n### Load Full Datasets\n```python\nfrom amocatlas import read\n\n# Load complete dataset (downloads and caches data) - new API\nds = read.osnap()                          # Single standardized dataset\nall_files = read.osnap(all_files=True)     # Get all files for array\n\n# Or use the legacy API\nfrom amocatlas import readers\ndatasets = readers.load_dataset(\"osnap\")  # Returns list of raw datasets\n```\n\nA `*.log` file will be written to `logs/` by default.\n\nData will be cached in `~/.amocatlas_data/` unless you specify a custom location.\n\n### API Features (v0.2.0+)\n\nAMOCatlas provides **standardized, analysis-ready data by default** with the new `read` API:\n\n**Key Benefits:**\n- 🧹 **Standardized Data**: Consistent variable names, metadata, and units\n- 🚀 **Easy to Use**: Single function calls instead of complex workflows  \n- 🔄 **Flexible**: Get raw data when needed with `raw=True`\n- 📊 **Smart Defaults**: Automatically handles array-specific parameters\n\n```python\nfrom amocatlas import read\n\n# Standard workflow - recommended for most users\nrapid_data = read.rapid()              # Single standardized dataset\nosnap_data = read.osnap()              # Automatically uses latest version\narctic_data = read.arcticgateway()     # Consistent across all arrays\n\n# Advanced usage\nall_rapid = read.rapid(all_files=True) # Get all files for an array\nraw_data = read.rapid(raw=True)        # Original format for special cases\n```\n\n**Legacy API (still supported):**\n```python\nfrom amocatlas import readers\ndatasets = readers.load_dataset(\"rapid\")  # Returns raw data as before\n```\n\n## Documentation\n\nDocumentation is available at [https://amoccommunity.github.io/AMOCatlas](https://amoccommunity.github.io/AMOCatlas/).\n\nCheck out the demo notebook `notebooks/demo.ipynb` for example functionality.\n\n## Project Structure\n\n```\namocatlas/\n│\n├── read.py                  # 🆕 Modern API namespace (read.rapid(), read.osnap(), etc.)\n├── readers.py               # Legacy orchestrator for loading datasets\n├── reader_utils.py          # Shared utilities for all data source readers\n│\n├── data_sources/            # 🆕 Organized data source readers\n│   ├── rapid26n.py          # RAPID array (26°N)\n│   ├── move16n.py           # MOVE array (16°N)\n│   ├── osnap55n.py          # OSNAP array (Subpolar North Atlantic)\n│   ├── samba34s.py          # SAMBA array (34.5°S)\n│   ├── mocha26n.py          # MOCHA dataset (26°N)\n│   ├── wh41n.py             # 41°N array\n│   ├── dso.py               # DSO overflow\n│   ├── fbc.py               # Faroe Bank Channel\n│   ├── fw2015.py            # Frajka-Williams 2015 dataset\n│   ├── arcticgateway.py     # Arctic Gateway transports\n│   ├── calafat2025.py       # Calafat 2025 heat transport\n│   ├── zheng2024.py         # Zheng 2024 freshwater transport\n│   └── noac47n.py           # NOAC 47°N monitoring\n│\n├── metadata/                # 🆕 YAML metadata files for standardization\n├── utilities.py             # Core utilities (downloads, parsing, validation)\n├── logger.py                # Structured logging system\n├── standardise.py           # Data standardization functions\n├── plotters.py              # Visualization and plotting functions\n├── tools.py                 # Analysis and calculation functions\n├── writers.py               # Data export functionality\n│\n└── tests/                   # Comprehensive unit tests\n```\n\n## Development\n\n### Running Tests\nAll new functions should include tests. You can run tests locally and generate a coverage report with:\n```bash\npytest --cov=amocatlas --cov-report term-missing tests/\n```\n\nTry to ensure that all the lines of your contribution are covered in the tests.\n\n### Generating Dataset Reports\nAMOCatlas includes automated report generation for comprehensive dataset documentation:\n\n```bash\n# Generate reports for all supported arrays\npython generate_report\n\n# Generate report for a specific dataset\npython generate_report --data_source rapid\n\n# Generate reports with custom output directory\npython generate_report --output_dir custom_reports/\n```\n\nReports are generated as structured RST files in `docs/source/reports/` with:\n- Dataset visualization plots\n- Variable mapping tables (original → standardized names)\n- Comprehensive metadata documentation\n- Temporal coverage analysis\n- Statistical summaries\n\n### Code Quality\n```bash\nblack amocatlas/ tests/          # Format code\nruff check amocatlas/ tests/     # Lint code\npre-commit run --all-files       # Run all hooks\n```\n\n### Working with Notebooks\nYou can run the example jupyter notebook by launching jupyterlab with `jupyter-lab` and navigating to the `notebooks` directory, or in VS Code or another python GUI.\n\n### Documentation\nTo build the documentation locally you need to install a few extra requirements:\n\n- Install `make` for your computer, e.g. on ubuntu with `sudo apt install make`\n- Install the additional python requirements. Activate the environment you use for working with amocatlas, navigate to the top directory of this repo, then run `pip install -r requirements-dev.txt`\n\nOnce you have the extras installed, you can build the docs locally by navigating to the `docs/` directory and running `make clean html`. This command will create a directory called `build/` which contains the html files of the documentation. Open the file `docs/build/html/index.html` in your browser, and you will see the docs with your changes applied.\n\n## Funding \u0026 Support\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/source/_static/epoc-logo.jpg\" alt=\"EPOC Logo\" width=\"300\"/\u003e\n\u003c/div\u003e\n\nThis project is supported by the Horizon Europe project **EPOC - Explaining and Predicting the Ocean Conveyor** (Grant Agreement No. 101081012).\n\n*Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union. Neither the European Union nor the granting authority can be held responsible for them.*\n\n\n## Current Roadmap\n\n- [x] Improve test coverage for data sources with \u003c40% coverage\n- [ ] Add more comprehensive visualization function tests  \n- [ ] Expand plotting capabilities with additional array-specific visualizations\n- [x] Create summary table of variable names, standard_names, long_names and units across all datasets\n- [x] Create summary table of default units and formatting conventions used for standardization\n- [x] Document deviations from OceanSITES-1.5 standard and rationale for changes\n- [x] Enrich metadata with ORCID identifiers for contributors\n- [x] Enrich metadata with https://edmo.seadatanet.org identifiers for contributing institutions\n- [ ] Create sample 3D plots for Arctic Gateway and Calafat2025 datasets\n\n## Acknowledgements\n\nThe observing arrays and datasets accessed through AMOCatlas are supported by:\n\n- **RAPID data**: Data from the RAPID-MOCHA-WBTS observing project are funded by the Natural Environment Research Council, the National Science Foundation (NSF), with support from NOAA. They are freely available from www.rapid.ac.uk/.\n\n- **MOVE data**: The MOVE project is made possible with funding from the NOAA Climate Program Office under award NA15OAR4320071 and carried out by principal investigators Uwe Send and Matthias Lankhorst. Initial funding came from the German Bundesministerium fuer Bildung und Forschung. MOVE data are made freely available through the international OceanSITES program.\n\n- **OSNAP data**: OSNAP data were collected and made freely available by the OSNAP (Overturning in the Subpolar North Atlantic Program) project and all the national programs that contribute to it (www.o-snap.org).\n\n- **SAMBA data**: SAMBA data were collected and made freely available by the SAMOC international project and contributing national programs\n\n\n- **41°N data**: These data were collected and made freely available by the International Argo Program and the national programs that contribute to it. The Argo Program is part of the Global Ocean Observing System\n\n- **DSO data**: Generated by Institution of Oceanography Hamburg and Marine and Freshwater Research Institute (Reykjavik, Iceland). Supported through funding from NACLIM (EU-FP7, grant 308299), RACE II, RACE-Synthese (German BMBF), Nordic WOCE, VEINS, MOEN, ASOF-W, NAClim, THOR, AtlantOS, and Blue Action\n\n- **FBC data**: Funding for the in situ Faroe Bank Channel measurements is from the Environmental Research Programme of the Nordic Council of Ministers (NMR) 1993–1998, from national Nordic research councils, from the Danish DANCEA programme, and from the European Framework Programs, lately under grant agreement no. GA212643 (THOR) and under grant agreement no. 308299 (NACLIM).\n\n- **Arctic Gateway data**: This work is funded by the European Union as part of the EPOC project (Explaining and Predicting the Ocean Conveyor; grant number: 101059547). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union. Neither the European Union nor the granting authority can be held responsible for them.\n\n- **CALAFAT2025 data**: This work has been carried out within the framework of the EPOC project funded by the European Union's Horizon Europe programme (grant agreement No 101059547), under call HORIZON-CL6-2021-CLIMATE01. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union. Neither the European Union nor the granting authority can be held responsible for them.\n\n- **FW2015 data**: Based on Frajka-Williams, E. (2015), \"Estimating the Atlantic overturning at 26°N using satellite altimetry and cable measurements\"\n\nDataset access and processing via [AMOCatlas](https://github.com/AMOCcommunity/AMOCatlas).\n\n## Contributing\n\nAll contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.\n\n## PyGMT add-on\n\nAMOCatlas includes support for creating publication-quality figures using PyGMT. The demo notebook `notebooks/amoc_paperfigs.ipynb` demonstrates how to generate figures similar to those in Frajka-Williams et al. (2019, 2023) papers, including filtered time series, component breakdowns, and multi-array comparisons.\n\n**Note**: PyGMT can be challenging to install due to its dependency on GMT. See the [PyGMT installation guide](https://www.pygmt.org/latest/install.html) for platform-specific instructions. PyGMT is an optional dependency - all other AMOCatlas functionality works without it.\n\nExample figures generated by the notebook:\n\n**Multi-array AMOC comparison:**\n\u003cimg src=\"docs/source/_static/paperfigs/amoc_multi_array.png\" alt=\"Atlantic Meridional Overturning Circulation time series from four major observing arrays: OSNAP at subpolar latitudes (green), RAPID at 26°N (red), MOVE at 16°N (magenta), and SAMBA at 34.5°S (blue anomaly). Data spans 2000-2025 showing AMOC transport in Sverdrups and variability across different latitudes.\" width=\"600\"/\u003e\n\n**Multi-array AMOC comparison (filtered):**\n\u003cimg src=\"docs/source/_static/paperfigs/amoc_multi_array_filtered.png\" alt=\"Low-pass filtered Atlantic Meridional Overturning Circulation time series using Tukey window filtering to highlight long-term trends. Shows OSNAP, RAPID, MOVE, and SAMBA MOC transport data with reduced high-frequency variability, revealing decadal-scale changes in ocean circulation strength from 2000-2025.\" width=\"600\"/\u003e\n\n**Multi-array AMOC overlaid:**\n\u003cimg src=\"docs/source/_static/paperfigs/amoc_multi_array_overlaid.png\" alt=\"Overlaid Atlantic Meridional Overturning Circulation time series from multiple observing arrays plotted on the same coordinate system. OSNAP (green), RAPID 26°N (red), and MOVE 16°N (magenta) show MOC transport in Sverdrups, while SAMBA 34.5°S (blue) displays anomaly values, enabling direct comparison of AMOC variability across Atlantic latitudes.\" width=\"600\"/\u003e\n\n**Historical AMOC (Bryden 2005):**\n\u003cimg src=\"docs/source/_static/paperfigs/bryden2005_amoc.png\" alt=\"Historical Atlantic Meridional Overturning Circulation estimates from Bryden et al. 2005 showing AMOC decline from 1957 to 2004. Red line and diamond markers indicate MOC transport measurements at 26°N, demonstrating significant weakening of Atlantic overturning circulation over five decades from 23 to 15 Sverdrups.\" width=\"400\"/\u003e\n\n---\n\n*For questions or support, please open an [issue](https://github.com/AMOCcommunity/amocatlas/issues) or check our [documentation](https://amoccommunity.github.io/AMOCatlas/).*","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/354351","html_url":"https://ost.ecosyste.ms/projects/354351"}