{"id":328310,"name":"NCDatasets.jl","description":"Allows one to read and create netCDF files, with data sets and attribute lists behaving like Julia dictionaries and variables like Julia arrays, and it implements the CommonDataModel.jl interface.","url":"https://github.com/JuliaGeo/NCDatasets.jl","last_synced_at":"2026-09-03T05:03:51.430Z","repository":{"id":38361626,"uuid":"95384729","full_name":"JuliaGeo/NCDatasets.jl","owner":"JuliaGeo","description":"Load and create NetCDF files in Julia","archived":false,"fork":false,"pushed_at":"2026-07-31T16:28:31.000Z","size":5233,"stargazers_count":193,"open_issues_count":27,"forks_count":37,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-08-31T17:44:20.233Z","etag":null,"topics":["climate-and-forecast-conventions","climatology","earth-observation","julia","meteorology","netcdf","oceanography","opendap"],"latest_commit_sha":null,"homepage":"https://juliageo.org/NCDatasets.jl/","language":"Julia","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/JuliaGeo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2017-06-25T20:42:08.000Z","updated_at":"2026-08-31T08:32:47.000Z","dependencies_parsed_at":"2026-05-16T02:03:08.485Z","dependency_job_id":null,"html_url":"https://github.com/JuliaGeo/NCDatasets.jl","commit_stats":{"total_commits":1113,"total_committers":24,"mean_commits":46.375,"dds":0.1437556154537286,"last_synced_commit":"e7ad295c65b9e8ab16fb16e3f1728db995988803"},"previous_names":["juliageo/ncdatasets.jl","alexander-barth/ncdatasets.jl"],"tags_count":81,"template":false,"template_full_name":null,"purl":"pkg:github/JuliaGeo/NCDatasets.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaGeo","download_url":"https://codeload.github.com/JuliaGeo/NCDatasets.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":37008561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-31T02:00:07.497Z","response_time":119,"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":"JuliaGeo","name":"JuliaGeo","uuid":"10616454","kind":"organization","description":"Geospatial packages for Julia","email":null,"website":"https://juliageo.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/10616454?v=4","repositories_count":32,"last_synced_at":"2024-03-26T04:56:54.935Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/JuliaGeo","funding_links":[],"total_stars":855,"followers":130,"following":0,"created_at":"2022-11-03T05:28:57.374Z","updated_at":"2024-03-26T04:56:58.753Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaGeo","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaGeo/repositories"},"packages":[{"id":4317418,"name":"NCDatasets","ecosystem":"julia","description":"Load and create NetCDF files in Julia","homepage":"https://juliageo.org/NCDatasets.jl/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/JuliaGeo/NCDatasets.jl","keywords_array":["netcdf","julia","climate-and-forecast-conventions","oceanography","meteorology","climatology","opendap","earth-observation"],"namespace":null,"versions_count":66,"first_release_published_at":"2018-07-25T15:28:42.000Z","latest_release_published_at":"2026-03-01T00:00:00.000Z","latest_release_number":"0.14.14","last_synced_at":"2026-04-01T09:19:04.521Z","created_at":"2022-04-19T16:38:14.040Z","updated_at":"2026-08-31T21:47:40.209Z","registry_url":"https://juliahub.com/ui/Packages/General/NCDatasets/","install_command":"Pkg.add(\"NCDatasets\")","documentation_url":"https://docs.juliahub.com/General/NCDatasets/stable/","metadata":{"uuid":"85f8d34a-cbdd-5861-8df4-14fed0d494ab"},"repo_metadata":{"id":38361626,"uuid":"95384729","full_name":"JuliaGeo/NCDatasets.jl","owner":"JuliaGeo","description":"Load and create NetCDF files in Julia","archived":false,"fork":false,"pushed_at":"2026-07-31T16:28:31.000Z","size":5233,"stargazers_count":193,"open_issues_count":27,"forks_count":37,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-08-31T17:44:20.233Z","etag":null,"topics":["climate-and-forecast-conventions","climatology","earth-observation","julia","meteorology","netcdf","oceanography","opendap"],"latest_commit_sha":null,"homepage":"https://juliageo.org/NCDatasets.jl/","language":"Julia","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/JuliaGeo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2017-06-25T20:42:08.000Z","updated_at":"2026-08-31T08:32:47.000Z","dependencies_parsed_at":"2026-05-16T02:03:08.485Z","dependency_job_id":null,"html_url":"https://github.com/JuliaGeo/NCDatasets.jl","commit_stats":{"total_commits":1113,"total_committers":24,"mean_commits":46.375,"dds":0.1437556154537286,"last_synced_commit":"e7ad295c65b9e8ab16fb16e3f1728db995988803"},"previous_names":["juliageo/ncdatasets.jl","alexander-barth/ncdatasets.jl"],"tags_count":81,"template":false,"template_full_name":null,"purl":"pkg:github/JuliaGeo/NCDatasets.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaGeo","download_url":"https://codeload.github.com/JuliaGeo/NCDatasets.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":37008561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-31T02:00:07.497Z","response_time":119,"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":"Alexander-Barth","name":"Alexander Barth","uuid":"9881475","kind":"user","description":"Researcher at the University of Liege","email":"","website":"http://labos.ulg.ac.be/gher/","location":"Liege, Belgium","twitter":null,"company":"University of Liege","icon_url":"https://avatars.githubusercontent.com/u/9881475?u=118c4a80cc86c03c055455235dc8d775a6ebf587\u0026v=4","repositories_count":85,"last_synced_at":"2024-06-11T15:37:55.613Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Alexander-Barth","funding_links":[],"total_stars":343,"followers":134,"following":4,"created_at":"2022-11-11T22:19:11.362Z","updated_at":"2024-06-11T15:38:04.136Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alexander-Barth","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alexander-Barth/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-08-31T21:47:40.209Z","dependent_packages_count":69,"downloads":49027,"downloads_period":"last-month","dependent_repos_count":9,"rankings":{"downloads":null,"dependent_repos_count":3.376076938489281,"dependent_packages_count":1.3123622520536966,"stargazers_count":5.710278501302344,"forks_count":6.020837507513525,"docker_downloads_count":null,"average":4.104888799839712},"purl":"pkg:julia/NCDatasets","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/julia/NCDatasets","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/julia/NCDatasets","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/julia/NCDatasets/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-08-31T03:34:33.424Z","issues_count":151,"pull_requests_count":68,"avg_time_to_close_issue":10394323.598484848,"avg_time_to_close_pull_request":1756767.4333333333,"issues_closed_count":132,"pull_requests_closed_count":60,"pull_request_authors_count":27,"issue_authors_count":58,"avg_comments_per_issue":5.099337748344371,"avg_comments_per_pull_request":4.073529411764706,"merged_pull_requests_count":47,"bot_issues_count":0,"bot_pull_requests_count":15,"past_year_issues_count":17,"past_year_pull_requests_count":16,"past_year_avg_time_to_close_issue":1289423.6,"past_year_avg_time_to_close_pull_request":1055280.9166666667,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":12,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":12,"past_year_avg_comments_per_issue":2.4705882352941178,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":8,"past_year_merged_pull_requests_count":10,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/issues","maintainers":[{"login":"Alexander-Barth","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Alexander-Barth"},{"login":"rafaqz","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaqz"},{"login":"visr","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/visr"},{"login":"ctroupin","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ctroupin"},{"login":"felixcremer","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixcremer"},{"login":"meggart","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/meggart"},{"login":"juliohm","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/juliohm"},{"login":"tcarion","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tcarion"}],"active_maintainers":[{"login":"Alexander-Barth","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Alexander-Barth"},{"login":"felixcremer","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixcremer"},{"login":"juliohm","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/juliohm"},{"login":"ctroupin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ctroupin"},{"login":"visr","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/visr"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/NCDatasets/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/NCDatasets/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/NCDatasets/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/NCDatasets/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/NCDatasets/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/NCDatasets/codemeta","maintainers":[],"registry":{"name":"juliahub.com","url":"https://juliahub.com","ecosystem":"julia","default":true,"packages_count":13730,"maintainers_count":0,"namespaces_count":0,"keywords_count":7792,"github":"JuliaRegistries","metadata":{"funded_packages_count":899},"icon_url":"https://github.com/JuliaRegistries.png","created_at":"2022-04-19T16:34:08.340Z","updated_at":"2026-08-28T05:06:16.558Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/namespaces"}}],"commits":{"id":8251537,"full_name":"JuliaGeo/NCDatasets.jl","default_branch":"master","total_commits":1314,"total_committers":29,"total_bot_commits":14,"total_bot_committers":2,"mean_commits":45.310344827586206,"dds":0.1400304414003044,"past_year_total_commits":155,"past_year_total_committers":6,"past_year_total_bot_commits":9,"past_year_total_bot_committers":1,"past_year_mean_commits":25.833333333333332,"past_year_dds":0.09677419354838712,"last_synced_at":"2026-09-02T04:32:31.575Z","last_synced_commit":"7178e3ba3f9c4bcd407ecbe08b4cd0ec2217f7bf","created_at":"2025-01-13T01:03:29.932Z","updated_at":"2026-09-02T04:32:31.420Z","committers":[{"name":"Alexander Barth","email":"barth.alexander@gmail.com","login":"Alexander-Barth","count":1130},{"name":"Datseris","email":"datseris.george@gmail.com","login":"Datseris","count":44},{"name":"Tristan Carion","email":"tristancarion@gmail.com","login":"tcarion","count":32},{"name":"Martijn Visser","email":"mgvisser@gmail.com","login":"visr","count":23},{"name":"ctroupin","email":"charles.troupin@gmail.com","login":"ctroupin","count":11},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"adigitoleo","email":"adigitoleo@dissimulo.com","login":"adigitoleo","count":6},{"name":"Rafael Schouten","email":"rafaelschouten@gmail.com","login":"rafaqz","count":6},{"name":"Argel Ramírez Reyes","email":"argel.ramirez@gmail.com","login":"aramirezreyes","count":5},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":5},{"name":"Gael Forget","email":"gforget@mit.edu","login":"gaelforget","count":5},{"name":"Kene Uba","email":"jfk.uba@protonmail.ch","login":"keduba","count":4},{"name":"Gregory L. Wagner","email":"wagner.greg@gmail.com","login":"glwagner","count":4},{"name":"Philippe Roy","email":"borghor@yahoo.ca","login":"Balinus","count":4},{"name":"Alexander Barth","email":"email@example.com","login":"username12","count":3},{"name":"Fabian Gans","email":"fgans@bgc-jena.mpg.de","login":"meggart","count":3},{"name":"Max","email":"maximilian.gelbrecht@posteo.de","login":"maximilian-gelbrecht","count":3},{"name":"lupemba","email":"simon.kok@live.dk","login":"lupemba","count":3},{"name":"Peter Shin","email":"petershintech@gmail.com","login":"petershintech","count":3},{"name":"Gabriele Bozzola","email":"sbozzolator@gmail.com","login":"Sbozzolo","count":2},{"name":"tcarion","email":"tristan.carion@gmail.com","login":null,"count":1},{"name":"Alex Gardner","email":"32276930+alex-s-gardner","login":"alex-s-gardner","count":1},{"name":"Benoit Pasquier","email":"4486578+briochemc","login":"briochemc","count":1},{"name":"Charles Kawczynski","email":"kawczynski.charles@gmail.com","login":"charleskawczynski","count":1},{"name":"Felix Cremer","email":"fcremer@bgc-jena.mpg.de","login":"felixcremer","count":1},{"name":"Julia TagBot","email":"50554310+JuliaTagBot","login":"JuliaTagBot","count":1},{"name":"Kosuke Sando","email":"kosukesando@gmail.com","login":"kosukesando","count":1},{"name":"Navid C. Constantinou","email":"navidcy","login":"navidcy","count":1},{"name":"Steven G. Johnson","email":"stevenj@mit.edu","login":"stevengj","count":1}],"past_year_committers":[{"name":"Alexander Barth","email":"barth.alexander@gmail.com","login":"Alexander-Barth","count":140},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"Max","email":"maximilian.gelbrecht@posteo.de","login":"maximilian-gelbrecht","count":3},{"name":"Martijn Visser","email":"mgvisser@gmail.com","login":"visr","count":1},{"name":"Felix Cremer","email":"fcremer@bgc-jena.mpg.de","login":"felixcremer","count":1},{"name":"Alex Gardner","email":"32276930+alex-s-gardner","login":"alex-s-gardner","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-09-02T00:00:08.893Z","repositories_count":6974530,"commits_count":1008134530,"contributors_count":43005339,"owners_count":1391254,"committers_count":3418229,"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":"JuliaGeo/NCDatasets.jl","html_url":"https://github.com/JuliaGeo/NCDatasets.jl","last_synced_at":"2026-09-02T04:32:26.427Z","status":null,"issues_count":151,"pull_requests_count":68,"avg_time_to_close_issue":10394323.598484848,"avg_time_to_close_pull_request":1756767.4333333333,"issues_closed_count":132,"pull_requests_closed_count":60,"pull_request_authors_count":27,"issue_authors_count":58,"avg_comments_per_issue":5.099337748344371,"avg_comments_per_pull_request":4.073529411764706,"merged_pull_requests_count":47,"bot_issues_count":0,"bot_pull_requests_count":15,"past_year_issues_count":17,"past_year_pull_requests_count":16,"past_year_avg_time_to_close_issue":1289423.6,"past_year_avg_time_to_close_pull_request":1055280.9166666667,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":12,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":12,"past_year_avg_comments_per_issue":2.4705882352941178,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":8,"past_year_merged_pull_requests_count":10,"created_at":"2025-01-13T01:03:30.180Z","updated_at":"2026-09-02T04:32:26.427Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaGeo%2FNCDatasets.jl/issues","issue_labels_count":{"feature request":5,"help wanted":3,"upstream bug":2,"bug":2,"upstream feature request":1,"enhancement":1,"announcement":1,"question":1},"pull_request_labels_count":{"dependencies":6,"github_actions":5,"julia":1},"issue_author_associations_count":{"NONE":82,"CONTRIBUTOR":39,"MEMBER":25,"COLLABORATOR":5},"pull_request_author_associations_count":{"CONTRIBUTOR":44,"MEMBER":17,"NONE":6,"COLLABORATOR":1},"issue_authors":{"Datseris":18,"Alexander-Barth":9,"rafaqz":9,"Balinus":9,"ryofurue":8,"natgeo-wong":7,"haakon-e":6,"ctroupin":5,"tiemvanderdeure":4,"aramirezreyes":3,"gvali":3,"brynpickering":3,"alex-s-gardner":3,"kongdd":3,"felixcremer":2,"ali-ramadhan":2,"BobPortmann":2,"suyashbire1":2,"fergu":2,"Yixiao-Zhang":2,"Yujie-W":2,"kpamnany":2,"visr":2,"JianghuiDu":2,"tomchor":2,"sethaxen":2,"mvhulten":2,"sjdaines":2,"timhultberg":2,"melodyjulia":2,"juliohm":2,"AquaPore":1,"briochemc":1,"ph-kev":1,"simonbyrne":1,"andsec":1,"weech":1,"sjmurdoch":1,"milankl":1,"naufalwx":1,"meggart":1,"squaregoldfish":1,"mwlidar":1,"verseve":1,"willcoxe":1,"errearanhas":1,"XinghaoJ":1,"woutersj":1,"amarux":1,"attobot":1,"st-bender":1,"lsterzinger":1,"jebej":1,"truedichotomy":1,"Atreyu-94":1,"cjkeist":1,"giordano":1,"natschil":1},"pull_request_authors":{"github-actions[bot]":9,"Datseris":9,"visr":7,"dependabot[bot]":6,"Alexander-Barth":4,"Balinus":3,"gaelforget":3,"lupemba":3,"rafaqz":2,"Sbozzolo":2,"keduba":2,"glwagner":2,"felixcremer":2,"stevengj":1,"ctroupin":1,"charleskawczynski":1,"JuliaTagBot":1,"navidcy":1,"maximilian-gelbrecht":1,"briochemc":1,"tcarion":1,"dkarrasch":1,"bjarthur":1,"kosukesando":1,"alex-s-gardner":1,"haakon-e":1,"meggart":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-09-02T00:00:06.945Z","repositories_count":16722893,"issues_count":44091604,"pull_requests_count":139825657,"authors_count":11611581,"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":{"bug":1},"past_year_pull_request_labels_count":{"dependencies":6,"github_actions":5,"julia":1},"past_year_issue_author_associations_count":{"NONE":8,"MEMBER":6,"CONTRIBUTOR":2,"COLLABORATOR":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":9,"MEMBER":4,"NONE":3},"past_year_issue_authors":{"Alexander-Barth":3,"alex-s-gardner":2,"fergu":2,"juliohm":2,"ctroupin":1,"felixcremer":1,"giordano":1,"jebej":1,"natgeo-wong":1,"sjmurdoch":1,"tiemvanderdeure":1,"XinghaoJ":1},"past_year_pull_request_authors":{"dependabot[bot]":6,"felixcremer":2,"github-actions[bot]":2,"Alexander-Barth":1,"alex-s-gardner":1,"bjarthur":1,"lupemba":1,"maximilian-gelbrecht":1,"visr":1},"maintainers":[{"login":"Alexander-Barth","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Alexander-Barth"},{"login":"rafaqz","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rafaqz"},{"login":"visr","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/visr"},{"login":"ctroupin","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ctroupin"},{"login":"felixcremer","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixcremer"},{"login":"meggart","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/meggart"},{"login":"juliohm","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/juliohm"},{"login":"tcarion","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tcarion"}],"active_maintainers":[{"login":"Alexander-Barth","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Alexander-Barth"},{"login":"felixcremer","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/felixcremer"},{"login":"juliohm","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/juliohm"},{"login":"ctroupin","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ctroupin"},{"login":"visr","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/visr"}]},"events":{"total":{"CommitCommentEvent":9,"CreateEvent":13,"DeleteEvent":3,"ForkEvent":3,"IssueCommentEvent":68,"IssuesEvent":11,"PullRequestEvent":21,"PullRequestReviewCommentEvent":1,"PullRequestReviewEvent":2,"PushEvent":72,"ReleaseEvent":3,"WatchEvent":18},"last_year":{"CommitCommentEvent":3,"CreateEvent":8,"DeleteEvent":2,"ForkEvent":1,"IssueCommentEvent":25,"IssuesEvent":5,"PullRequestEvent":14,"PullRequestReviewEvent":1,"PushEvent":55,"ReleaseEvent":2,"WatchEvent":6}},"keywords":["climate-and-forecast-conventions","climatology","earth-observation","julia","meteorology","netcdf","oceanography","opendap"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/TagBot.yml","sha":null,"kind":"manifest","created_at":"2023-02-14T01:31:55.142Z","updated_at":"2023-02-14T01:31:55.142Z","repository_link":"https://github.com/JuliaGeo/NCDatasets.jl/blob/main/.github/workflows/TagBot.yml","dependencies":[{"id":7639618772,"package_name":"JuliaRegistries/TagBot","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci-binary-builder.yml","sha":null,"kind":"manifest","created_at":"2023-02-14T01:31:55.216Z","updated_at":"2023-02-14T01:31:55.216Z","repository_link":"https://github.com/JuliaGeo/NCDatasets.jl/blob/main/.github/workflows/ci-binary-builder.yml","dependencies":[{"id":7639618928,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7639618929,"package_name":"julia-actions/setup-julia","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7639618930,"package_name":"actions/cache","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7639618931,"package_name":"julia-actions/julia-buildpkg","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"julia","filepath":"test/Project.toml","sha":null,"kind":"manifest","created_at":"2026-05-16T02:03:07.108Z","updated_at":"2026-05-16T02:03:07.108Z","repository_link":"https://github.com/JuliaGeo/NCDatasets.jl/blob/main/test/Project.toml","dependencies":[{"id":25863249338,"package_name":"CommonDataModel","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249339,"package_name":"DataStructures","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249340,"package_name":"Dates","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249341,"package_name":"DiskArrays","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249342,"package_name":"IntervalSets","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249372,"package_name":"MPI","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249373,"package_name":"Printf","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249374,"package_name":"Random","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249375,"package_name":"Test","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"julia","filepath":"docs/Project.toml","sha":null,"kind":"manifest","created_at":"2026-05-16T02:03:07.053Z","updated_at":"2026-05-16T02:03:07.053Z","repository_link":"https://github.com/JuliaGeo/NCDatasets.jl/blob/main/docs/Project.toml","dependencies":[{"id":25863249329,"package_name":"CommonDataModel","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249330,"package_name":"DataStructures","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249331,"package_name":"Documenter","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249332,"package_name":"MPI","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249333,"package_name":"NCDatasets","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/CI.yml","sha":null,"kind":"manifest","created_at":"2026-05-16T02:03:06.544Z","updated_at":"2026-05-16T02:03:06.544Z","repository_link":"https://github.com/JuliaGeo/NCDatasets.jl/blob/main/.github/workflows/CI.yml","dependencies":[{"id":25863249289,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25863249294,"package_name":"julia-actions/setup-julia","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25863249295,"package_name":"actions/cache","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":25863249296,"package_name":"julia-actions/julia-buildpkg","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false},{"id":25863249297,"package_name":"julia-actions/julia-runtest","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false},{"id":25863249298,"package_name":"julia-actions/julia-processcoverage","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25863249299,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"julia","filepath":"Project.toml","sha":null,"kind":"manifest","created_at":"2026-05-16T02:03:06.834Z","updated_at":"2026-05-16T02:03:06.834Z","repository_link":"https://github.com/JuliaGeo/NCDatasets.jl/blob/main/Project.toml","dependencies":[{"id":25863249310,"package_name":"CFTime","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249313,"package_name":"CommonDataModel","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249314,"package_name":"DataStructures","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249315,"package_name":"Dates","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249317,"package_name":"DiskArrays","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249318,"package_name":"NetCDF_jll","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249319,"package_name":"NetworkOptions","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25863249320,"package_name":"Printf","ecosystem":"julia","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":19.562639517930712,"created_at":"2025-10-26T17:05:22.673Z","updated_at":"2026-09-03T05:03:51.434Z","avatar_url":"https://github.com/JuliaGeo.png","language":"Julia","category":"Climate Change","sub_category":"Climate Data Standards","monthly_downloads":49027,"total_dependent_repos":9,"total_dependent_packages":69,"readme":"# NCDatasets\n[![documentation stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliageo.org/NCDatasets.jl/stable/)\n[![documentation dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://juliageo.org/NCDatasets.jl/dev/)\n\n[![Build Status](https://github.com/JuliaGeo/NCDatasets.jl/workflows/CI/badge.svg)](https://github.com/JuliaGeo/NCDatasets.jl/actions)\n[![codecov](https://codecov.io/github/JuliaGeo/NCDatasets.jl/graph/badge.svg?token=SXpIBsfRrI)](https://codecov.io/github/JuliaGeo/NCDatasets.jl)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.06504/status.svg)](https://doi.org/10.21105/joss.06504)\n\n\n`NCDatasets` allows one to read and create netCDF files.\nNetCDF data set and attribute list behave like Julia dictionaries and variables like Julia arrays. The documentation is available [here](https://juliageo.org/NCDatasets.jl/stable/). This package implements the [CommonDataModel.jl](https://github.com/JuliaGeo/CommonDataModel.jl) interface, which mean that the datasets can be accessed in the same way as GRIB files ([GRIBDatasets.jl](https://github.com/JuliaGeo/GRIBDatasets.jl)) and Zarr files ([ZarrDatasets.jl](https://github.com/JuliaGeo/ZarrDatasets.jl)).\n\nThe module `NCDatasets` provides support for the following [netCDF CF conventions](http://cfconventions.org/):\n* `_FillValue` will be returned as `missing` ([more information](https://docs.julialang.org/en/v1/manual/missing/))\n* `scale_factor` and `add_offset` are applied if present\n* time variables (recognized by the `units` attribute) are returned as `DateTime` objects.\n* support of the [CF calendars](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.11/cf-conventions.html#calendar) (standard, gregorian, proleptic gregorian, julian, all leap, no leap, 360 day) using [CFTime](https://github.com/JuliaGeo/CFTime.jl)\n* the raw data can also be accessed (without the transformations above).\n* [contiguous ragged array representation](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.11/cf-conventions.html#_contiguous_ragged_array_representation)\n\nOther features include:\n* Support for NetCDF 4 compression and variable-length arrays (i.e. arrays of vectors where each vector can have potentailly a different length)\n* The module also includes an utility function [`ncgen`](https://alexander-barth.github.io/NCDatasets.jl/stable/dataset/#NCDatasets.ncgen) which generates the Julia code that would produce a netCDF file with the same metadata as a template netCDF file.\n\n## Installation\n\nInside the Julia shell, you can download and install the package by issuing:\n\n```julia\nusing Pkg\nPkg.add(\"NCDatasets\")\n```\n\n# Manual\n\nThis Manual is a quick introduction in using NCDatasets.jl. For more details you can read the [stable](https://juliageo.org/NCDatasets.jl/stable/) or [dev](https://juliageo.org/NCDatasets.jl/dev/) documentation.\n\n* [Create a netCDF file](#create-a-netcdf-file)\n* [Explore the content of a netCDF file](#explore-the-content-of-a-netcdf-file)\n* [Load a netCDF file](#load-a-netcdf-file)\n* [Edit an existing netCDF file](#edit-an-existing-netcdf-file)\n\n## Create a netCDF file\n\nThe following gives an example of how to create a netCDF file by defining dimensions, variables and attributes.\n\n```julia\nusing NCDatasets\nusing DataStructures: OrderedDict\n# This creates a new NetCDF file called file.nc.\n# The mode \"c\" stands for creating a new file (clobber)\nds = NCDataset(\"file.nc\",\"c\")\n\n# Define the dimension \"lon\" and \"lat\" with the size 100 and 110 resp.\ndefDim(ds,\"lon\",100)\ndefDim(ds,\"lat\",110)\n\n# Define a global attribute\nds.attrib[\"title\"] = \"this is a test file\"\n\n# Define the variables temperature with the attribute units\nv = defVar(ds,\"temperature\",Float32,(\"lon\",\"lat\"), attrib = OrderedDict(\n    \"units\" =\u003e \"degree Celsius\",\n    \"scale_factor\" =\u003e 10,\n))\n\n# add additional attributes\nv.attrib[\"comments\"] = \"this is a string attribute with Unicode Ω ∈ ∑ ∫ f(x) dx\"\n\n# Generate some example data\ndata = [Float32(i+j) for i = 1:100, j = 1:110];\n\n# write a single column\nv[:,1] = data[:,1];\n\n# write a the complete data set\nv[:,:] = data;\n\nclose(ds)\n```\n\nIt is also possible to create the dimensions, the define the variable and set its value with a single call to `defVar`:\n\n```julia\nusing NCDatasets\nds = NCDataset(\"/tmp/test2.nc\",\"c\")\ndata = [Float32(i+j) for i = 1:100, j = 1:110]\nv = defVar(ds,\"temperature\",data,(\"lon\",\"lat\"))\nclose(ds)\n```\n## Explore the content of a netCDF file\n\nBefore reading the data from a netCDF file, it is often useful to explore the list of variables and attributes defined in it.\n\nFor interactive use, the following commands (without ending semicolon) display the content of the file similarly to `ncdump -h file.nc`:\n\n```julia\nusing NCDatasets\nds = NCDataset(\"file.nc\")\n```\n\nThis creates the central structure of NCDatasets.jl, `NCDataset`, which represents the contents of the netCDF file (without immediatelly loading everything in memory). `NCDataset` is an alias for `Dataset`.\n\nThe following displays the information just for the variable `varname`:\n\n```julia\nds[\"varname\"]\n```\n\nwhile to get the global attributes you can do:\n```julia\nds.attrib\n```\n\n`NCDataset(\"file.nc\")` produces a listing like:\n\n```\nDataset: file.nc\nGroup: /\n\nDimensions\n   lon = 100\n   lat = 110\n\nVariables\n  temperature   (100 × 110)\n    Datatype:    Float32 (Float32)\n    Dimensions:  lon × lat\n    Attributes:\n     units                = degree Celsius\n     scale_factor         = 10\n     comments             = this is a string attribute with Unicode Ω ∈ ∑ ∫ f(x) dx\n\nGlobal attributes\n  title                = this is a test file\n```\n\n## Load a netCDF file\n\nLoading a variable with known structure can be achieved by accessing the variables and attributes directly by their name.\n\n```julia\n# The mode \"r\" stands for read-only. The mode \"r\" is the default mode and the parameter can be omitted.\nds = NCDataset(\"file.nc\",\"r\")\nv = ds[\"temperature\"]\n\n# load a subset\nsubdata = v[10:30,30:5:end]\n\n# load all data\ndata = v[:,:]\n\n# load all data ignoring attributes like scale_factor, add_offset, _FillValue and time units\ndata2 = v.var[:,:];\n\n\n# load an attribute\nunit = v.attrib[\"units\"]\nclose(ds)\n```\n\nIn the example above, the subset can also be loaded with:\n\n```julia\nsubdata = NCDataset(\"file.nc\")[\"temperature\"][10:30,30:5:end]\n```\n\nThis might be useful in an interactive session. However, the file `test.nc` is not directly closed (closing the file will be triggered by Julia's garbage collector), which can be a problem if you open many files. On Linux the number of opened files is often limited to 1024 (soft limit). If you write to a file, you should also always close the file to make sure that the data is properly written to the disk.\n\nAn alternative way to ensure the file has been closed is to use a `do` block: the file will be closed automatically when leaving the block.\n\n```julia\ndata = NCDataset(filename,\"r\") do ds\n    ds[\"temperature\"][:,:]\nend # ds is closed\n```\n\n\n\n\n## Edit an existing netCDF file\n\nWhen you need to modify variables or attributes in a netCDF file, you have\nto open it with the `\"a\"` option. Here, for example, we add a global attribute *creator* to the\nfile created in the previous step.\n\n```julia\nds = NCDataset(\"file.nc\",\"a\")\nds.attrib[\"creator\"] = \"your name\"\nclose(ds);\n```\n\n\n# Benchmark\n\nThe benchmark loads a variable of the size 1000x500x100 in slices of 1000x500\n(applying the scaling of the CF conventions)\nand computes the maximum of each slice and the average of each maximum over all slices.\nThis operation is repeated 100 times.\nThe code is available at https://github.com/JuliaGeo/NCDatasets.jl/tree/main/test/perf .\n\n| Module           | median | minimum |  mean | std. dev. |\n|:---------------- | ------:| -------:| -----:| ---------:|\n| R-ncdf4          |  0.407 |   0.384 | 0.407 |     0.010 |\n| python-netCDF4   |  0.475 |   0.463 | 0.476 |     0.010 |\n| julia-NCDatasets |  0.265 |   0.249 | 0.267 |     0.011 |\n\nAll runtimes are in seconds. We use Julia 1.10.0 (with NCDatasets 0.14.0), R 4.1.2 (with ncdf4 1.22) and Python 3.10.12 (with netCDF4 1.6.5)\non a i5-1135G7 CPU and NVMe SSD (WDC WDS100T2B0C).\n\n\n# Filing an issue\n\nWhen you file an issue, please include sufficient information that would _allow somebody else to reproduce the issue_, in particular:\n1. Provide the code that generates the issue.\n2. If necessary to run your code, provide the used netCDF file(s).\n3. Make your code and netCDF file(s) as simple as possible (while still showing the error and being runnable). A big thank you for the 5-star-premium-gold users who do not forget this point! 👍🏅🏆\n4. The full error message that you are seeing (in particular file names and line numbers of the stack-trace).\n5. Which version of Julia and `NCDatasets` are you using? Please include the output of:\n```\nversioninfo()\nusing Pkg\nPkg.installed()[\"NCDatasets\"]\n```\n6. Does `NCDatasets` pass its test suite? Please include the output of:\n\n```julia\nusing Pkg\nPkg.test(\"NCDatasets\")\n```\n\n# Alternative\n\nThe package [NetCDF.jl](https://github.com/JuliaGeo/NetCDF.jl) from Fabian Gans and contributors is an alternative to this package which supports a more Matlab/Octave-like interface for reading and writing NetCDF files.\n\n# Credits\n\n`netcdf_c.jl` and the error handling code of the NetCDF C API are from NetCDF.jl by Fabian Gans (Max-Planck-Institut für Biogeochemie, Jena, Germany) released under the MIT license.\n\n\n\n\u003c!--  LocalWords:  NCDatasets codecov io NetCDF FillValue DataArrays\n --\u003e\n\u003c!--  LocalWords:  DateTime ncdump nc julia ds Dataset varname attrib\n --\u003e\n\u003c!--  LocalWords:  lon defDim defVar dx subdata println attname jl\n --\u003e\n\u003c!--  LocalWords:  attval filename netcdf API Gans Institut für Jena\n --\u003e\n\u003c!--  LocalWords:  Biogeochemie macOS haskey runnable versioninfo\n --\u003e\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.06504"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["geo","climate","data-assimilation","climate-change","ocean","climate-model","geospatial-data","gdal","arrays","sciml"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/328310","html_url":"https://ost.ecosyste.ms/projects/328310"}