{"id":691,"name":"OpenDrift","description":"A software for modeling the trajectories and fate of objects or substances drifting in the ocean, or even in the atmosphere.","url":"https://github.com/OpenDrift/opendrift","last_synced_at":"2026-04-29T13:30:51.710Z","repository":{"id":12556238,"uuid":"15226547","full_name":"OpenDrift/opendrift","owner":"OpenDrift","description":"Open source framework for ocean trajectory modelling","archived":false,"fork":false,"pushed_at":"2026-04-16T08:53:14.000Z","size":56343,"stargazers_count":302,"open_issues_count":105,"forks_count":144,"subscribers_count":20,"default_branch":"master","last_synced_at":"2026-04-16T10:35:26.298Z","etag":null,"topics":["ocean","ocean-modelling","python","trajectory"],"latest_commit_sha":null,"homepage":"https://opendrift.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenDrift.png","metadata":{"files":{"readme":"README.md","changelog":"history.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","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":"2013-12-16T13:32:04.000Z","updated_at":"2026-04-16T08:53:18.000Z","dependencies_parsed_at":"2025-12-17T03:07:56.252Z","dependency_job_id":null,"html_url":"https://github.com/OpenDrift/opendrift","commit_stats":{"total_commits":3679,"total_committers":52,"mean_commits":70.75,"dds":"0.30198423484642567","last_synced_commit":"94de10a649b7f48270def7c62e8e4690fa6d31c7"},"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/OpenDrift/opendrift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenDrift","download_url":"https://codeload.github.com/OpenDrift/opendrift/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32022561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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":"OpenDrift","name":"OpenDrift","uuid":"23311271","kind":"organization","description":"OpenDrift is a software package for modeling the trajectories and fate of objects or substances drifting in the ocean, or even in the atmosphere.","email":null,"website":"https://opendrift.github.io/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/23311271?v=4","repositories_count":6,"last_synced_at":"2023-08-07T04:53:00.641Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/OpenDrift","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T18:22:03.163Z","updated_at":"2023-08-07T04:53:00.677Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenDrift","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenDrift/repositories"},"packages":[],"commits":{"id":1254346,"full_name":"OpenDrift/opendrift","default_branch":"master","total_commits":4046,"total_committers":59,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":68.57627118644068,"dds":0.296094908551656,"past_year_total_commits":240,"past_year_total_committers":16,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":15.0,"past_year_dds":0.24583333333333335,"last_synced_at":"2026-04-19T21:09:51.069Z","last_synced_commit":"49c27730f2b19d4f2bc887d0b259d80703ba83fa","created_at":"2023-03-27T11:32:31.476Z","updated_at":"2026-04-19T21:03:13.860Z","committers":[{"name":"knutfrode","email":"knutfrode@gmail.com","login":"knutfrode","count":2848},{"name":"Gaute Hope","email":"gaute.hope@met.no","login":"gauteh","count":678},{"name":"Manuel Aghito","email":"manuel@met.no","login":"manuelaghito","count":137},{"name":"magnes","email":"magnes@met.no","login":"magnesim","count":79},{"name":"johannesro","email":"johannesro@met.no","login":"johannesro","count":50},{"name":"Kristen Thyng","email":"kthyng@gmail.com","login":"kthyng","count":33},{"name":"Achref Othmani","email":"achoth@jakarta.ad.nersc.no","login":null,"count":25},{"name":"student34","email":"ugo.martinez@live.fr","login":"Ugomartinez","count":19},{"name":"simonweppe","email":"simon@metocean.co.nz","login":"simonweppe","count":19},{"name":"julien","email":"julien@geocluster.lan","login":null,"count":15},{"name":"doppler","email":"ara@akvaplan.niva.no","login":"poplarShift","count":12},{"name":"Manuel Aghito","email":"manuel.aghito@hi.no","login":null,"count":10},{"name":"Johannes Røhrs","email":"johannesro@pc4854.pc.met.no","login":null,"count":9},{"name":"Vanessa Sochat","email":"vsochat@stanford.edu","login":"vsoch","count":9},{"name":"Helene Asbjornsen","email":"helenea@met.no","login":null,"count":7},{"name":"Nils Melsom Kristensen","email":"nilsmk@met.no","login":"nilsmkMET","count":6},{"name":"Knut-Frode Dagestad","email":"knutfd@pc4207.pc.met.no","login":null,"count":5},{"name":"Mateusz Matuszak","email":"mateusz_matuszak@hotmail.com","login":"mateuszmatu","count":5},{"name":"loriscalgaro","email":"80333483+loriscalgaro","login":"loriscalgaro","count":5},{"name":"GilesFearon","email":"gfearon11@gmail.com","login":"GilesFearon","count":5},{"name":"Johannes Røhrs","email":"johannesro@pc4967.pc.met.no","login":null,"count":4},{"name":"Knut-Frode Dagestad","email":"knutfd@vpn-116-98.met.no","login":null,"count":4},{"name":"Lars Falk-Petersen","email":"larsfp@met.no","login":"larsmet","count":4},{"name":"Ole Baadshaug","email":"olebaadshaug@gmail.com","login":"olebaad","count":4},{"name":"Oyvind Breivik","email":"oyvind.breivik@met.no","login":null,"count":4},{"name":"Nancy Soontiens","email":"nancy.soontiens@dfo-mpo.gc.ca","login":"nsoontie","count":3},{"name":"Manuel Aghito","email":"manuel@pc5421.pc.met.no","login":null,"count":3},{"name":"Johannes Røhrs","email":"johannesro@pc5363.pc.met.no","login":null,"count":2},{"name":"Josh Rhoades","email":"josh@axiomdatascience.com","login":null,"count":2},{"name":"Knut-Frode Dagestad","email":"knutfrode@knutfrodesimac.lan","login":null,"count":2},{"name":"Petter Nygren","email":"petter.nygren@smhi.se","login":null,"count":2},{"name":"TheSylex","email":"","login":null,"count":2},{"name":"Achref","email":"52574653+AchrefAO","login":"AchrefAO","count":2},{"name":"Eric Jansen","email":"eric@xyrion.org","login":"ej81","count":2},{"name":"Julien Moreau","email":"moreau.juli1@gmail.com","login":"Boorhin","count":2},{"name":"Rich Signell","email":"rsignell@gmail.com","login":"rsignell","count":2},{"name":"Tyler Erickson","email":"tyler@vorgeo.com","login":"tylere","count":2},{"name":"Victor Aguiar","email":"vc.ma1309@gmail.com","login":"vic1309","count":2},{"name":"trondkr","email":"me@trondkristiansen.com","login":"trondkr","count":2},{"name":"Øystein Knutsen","email":"oystein.knutsen@sintef.no","login":"oysteinkn","count":1},{"name":"Achref Othmani","email":"achoth@Jakarta.ad.nersc.no","login":null,"count":1},{"name":"Achref Othmani","email":"achoth@Jakarta.wifi.ad.nersc.no","login":null,"count":1},{"name":"Andres Sepulveda","email":"AndresSepulveda","login":"AndresSepulveda","count":1},{"name":"Angie-P","email":"angelica.pesce98@gmail.com","login":"Angie-P","count":1},{"name":"Calvin Quigley","email":"55519685+calquigs","login":"calquigs","count":1},{"name":"Oyvind Breivik","email":"oyvind.breivik@gmail.com","login":"oyvindbreivik","count":1},{"name":"Paul Skeie","email":"paul.skeie@gmail.com","login":"paulskeie","count":1},{"name":"munahaf","email":"munawar.hafiz@gmail.com","login":"munahaf","count":1},{"name":"Øyvind Breivik","email":"oyvindb@pc4680.pc.met.no","login":null,"count":1},{"name":"reu-llubecke","email":"reu-llubecke@fig.ucsd.edu","login":null,"count":1},{"name":"Nils Melsom Kristensen","email":"nils.m.kristensen@met.no","login":null,"count":1},{"name":"Magne Simonsen","email":"magnes@pc5246.pc.met.no","login":null,"count":1},{"name":"Lenny HUCHER","email":"lenny.hucher@etu.minesparis.psl.eu","login":null,"count":1},{"name":"Knut-Frode Dagestad","email":"knutfd@vis-m1.met.no","login":null,"count":1},{"name":"Knut-Frode Dagestad","email":"knutfd@pc5419.pc.met.no","login":null,"count":1},{"name":"Knut-Frode Dagestad","email":"knutfd@pc4208.pc.met.no","login":null,"count":1},{"name":"Knut-Frode Dagestad","email":"knutfd@Invalid option: -x Usage:  dig [@global-server] [domain] [q-type] [q-class] {q-opt}             {global-d-opt} host [@local-server] {local-d-opt}             [ host [@local-server] {local-d-opt} [...]]  Use \"dig -h\" (or \"dig -h | more\") for complete list of options","login":null,"count":1},{"name":"Josh Rhoades","email":"josh@axds.co","login":null,"count":1},{"name":"André R. Brodtkorb","email":"Andre.Brodtkorb@sintef.no","login":null,"count":1}],"past_year_committers":[{"name":"Knut-Frode Dagestad","email":"knutfd@met.no","login":"knutfrode","count":181},{"name":"Gaute Hope","email":"gauteh@met.no","login":"gauteh","count":16},{"name":"Manuel Aghito","email":"manuel.aghito@hi.no","login":null,"count":10},{"name":"Kristen Thyng","email":"kthyng@gmail.com","login":"kthyng","count":6},{"name":"Manuel Aghito","email":"manuel@met.no","login":"manuelaghito","count":5},{"name":"Achref Othmani","email":"achoth@jakarta.ad.nersc.no","login":null,"count":5},{"name":"loriscalgaro","email":"80333483+loriscalgaro","login":"loriscalgaro","count":4},{"name":"Mateusz Matuszak","email":"mateusz_matuszak@hotmail.com","login":"mateuszmatu","count":3},{"name":"Tyler Erickson","email":"tyler@vorgeo.com","login":"tylere","count":2},{"name":"Josh Rhoades","email":"josh@axiomdatascience.com","login":null,"count":2},{"name":"Øystein Knutsen","email":"oystein.knutsen@sintef.no","login":"oysteinkn","count":1},{"name":"simonweppe","email":"simon.weppe@gmail.com","login":"simonweppe","count":1},{"name":"magnes","email":"magnes@met.no","login":"magnesim","count":1},{"name":"doppler","email":"ara@akvaplan.niva.no","login":"poplarShift","count":1},{"name":"Oyvind Breivik","email":"oyvind.breivik@gmail.com","login":"oyvindbreivik","count":1},{"name":"Josh Rhoades","email":"josh@axds.co","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-24T00:00:07.454Z","repositories_count":6217413,"commits_count":899506829,"contributors_count":34910497,"owners_count":1144821,"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":"OpenDrift/opendrift","html_url":"https://github.com/OpenDrift/opendrift","last_synced_at":"2026-04-19T21:01:31.108Z","status":"active","issues_count":473,"pull_requests_count":1305,"avg_time_to_close_issue":15703144.79661017,"avg_time_to_close_pull_request":1309889.001596169,"issues_closed_count":354,"pull_requests_closed_count":1253,"pull_request_authors_count":41,"issue_authors_count":178,"avg_comments_per_issue":4.367864693446089,"avg_comments_per_pull_request":0.7923371647509578,"merged_pull_requests_count":1164,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":24,"past_year_pull_requests_count":143,"past_year_avg_time_to_close_issue":599696.6666666666,"past_year_avg_time_to_close_pull_request":92980.09016393442,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":122,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":23,"past_year_avg_comments_per_issue":1.7083333333333333,"past_year_avg_comments_per_pull_request":0.1958041958041958,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":116,"created_at":"2023-05-09T10:36:32.677Z","updated_at":"2026-04-19T21:01:31.109Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDrift%2Fopendrift/issues","issue_labels_count":{"question":13,"readers":12,"medium-priority":9,"low-priority":9,"bug":8,"enhancement":7,"infra":3,"openoil":2,"high-priority":1},"pull_request_labels_count":{"openoil":3,"infra":2,"enhancement":1,"readers":1},"issue_author_associations_count":{"NONE":312,"CONTRIBUTOR":107,"COLLABORATOR":36,"MEMBER":18},"pull_request_author_associations_count":{"COLLABORATOR":884,"CONTRIBUTOR":229,"MEMBER":158,"NONE":34},"issue_authors":{"AndresSepulveda":49,"knutfrode":27,"gauteh":18,"simonweppe":12,"CaroMedel":10,"kthyng":10,"limaolin1981611":10,"John-Luick":9,"oceandiff":8,"Boorhin":8,"johannesro":7,"trondkr":7,"taoansf":7,"erickfredj":6,"Nichsouz":6,"dharanidharan12":6,"llx206":5,"lencart":5,"calquigs":5,"Alonso112358":5,"ShamblingCrane":5,"dpereiro91":5,"poplarShift":5,"GuiCruz":5,"ivicajan":4,"Jallel30":4,"arian-dialectaquiz":4,"josefilho77":4,"HatYaz":4,"Oklyagina":4,"vic1309":4,"joeelrahi":4,"nordam":4,"AchrefAO":3,"mevo-creator":3,"vincentcasseau":3,"jerabaul29":3,"MarianoTonini":3,"lyingTree":3,"ZenKa24":3,"dayeno":3,"IGanch":3,"GilesFearon":3,"ocecept":3,"ocgabs":2,"OakesHolland":2,"silyko":2,"stefraynaud":2,"rhysomac":2,"rsignell":2,"helena2281":2,"SHENH-BIO":2,"dayexingyang":2,"soltkreig":2,"Kiwichar":2,"SuiYu2002":2,"Caffa":2,"hsuehtchang":2,"AndersOpdal":2,"toddChavezz":2,"hidden-ja":2,"chironbang":2,"bmooremaley":2,"Rbiton1":2,"jaemaning":2,"ledgint":2,"mmm197":2,"KKotzak":2,"IreneNA95":2,"valschmidt":2,"laralps":2,"QidiMa":2,"msdelalama":2,"mateuszmatu":2,"ctroupin":1,"Kostas84B":1,"ssosas":1,"oartal":1,"gab1092":1,"MCodeHmakerG":1,"mattcarr03":1,"sebainzunza":1,"mymyrere":1,"graig-sutherland":1,"HugoDENISFR":1,"HanhHelen":1,"mlicer":1,"joecabz1985":1,"Sailor-Yao":1,"ahmad-axds":1,"jschwarz-dstl":1,"egrosas":1,"kanna-ops":1,"sgaen":1,"Wujie-nju":1,"ADevisM":1,"daniel-i-lee":1,"KBattousaiH":1,"AndreaGierisch":1,"manuelaghito":1,"amandineschaeffer":1,"Diego1991":1,"PerharicC":1,"mcarvajalino":1,"SunnysChan":1,"Morhaf-ALjber":1,"RicardoCastilloVega":1,"amandaivl":1,"Lovisasvensson":1,"Xyx105":1,"amercatini":1,"frong0824":1,"LEO-SUJIAFU":1,"novaisc":1,"efredj":1,"dungnm345":1,"FrancoisDuquesne":1,"sartools":1,"svenseeberg":1,"RicardoRibeiroRodrigues":1,"PabloMLo":1,"unalokyay":1,"vsoch":1,"LanaLubecke":1,"MireyaMMO":1,"AndreLobato":1,"JSoto-Nav":1,"adegroodt":1,"lhuasheng":1,"GRautenbach":1,"lihu8918":1,"qianmosugar":1,"msorockin":1,"rivano10":1,"j-arnoult":1,"yaosailor":1,"loriscalgaro":1,"ondave":1,"rlr8b4":1,"BenSpin":1,"TomValderrama":1,"arianjoel93":1,"JoyMonteiro":1,"jacktang":1,"daniel951127":1,"zdulou":1,"jlehtira":1,"Wen77777777":1,"ConfusedThomas":1,"simonesammartino":1,"PabloReche":1,"nsoontie":1,"ChrisBarker-NOAA":1,"haozi814":1,"KatrinMelanie":1,"MartimBebeagua":1,"philippemiron":1,"Gui-Marinho":1,"hroarty":1,"huseinalfarizi":1,"tklenz":1,"sirjoecabz":1,"Nebelgeist":1,"William2904-hub":1,"snowfalcon123":1,"patcdaniel":1,"shahbazbaig":1,"EllynnCM":1,"ZeeshanMirza74":1,"augustosepp":1,"lia-f-h":1,"bilgetutak":1,"cgarciamolina":1,"wkikk":1,"margauxf":1,"Dovelet1":1,"Elcook":1,"EmmaCartuyvels":1},"pull_request_authors":{"knutfrode":873,"gauteh":158,"manuelaghito":95,"AchrefAO":21,"kthyng":18,"magnesim":18,"simonweppe":18,"Ugomartinez":16,"johannesro":10,"poplarShift":10,"Boorhin":7,"munahaf":5,"climberlenny":4,"TheSylex":4,"rsignell":4,"mateuszmatu":4,"vic1309":4,"ways":3,"lyingTree":3,"calquigs":2,"nordam":2,"LanaLubecke":2,"babrodtk":2,"GilesFearon":2,"Angie-P":2,"lencart":2,"vsoch":2,"petternygren":1,"paulskeie":1,"arian-dialectaquiz":1,"Erispoe29":1,"AndresSepulveda":1,"trondkr":1,"RomainChaput":1,"josh-axiom":1,"nilsmkMET":1,"nsoontie":1,"ej81":1,"AndreLobato":1,"vegardb":1,"loriscalgaro":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-24T00:00:07.455Z","repositories_count":14384422,"issues_count":34463864,"pull_requests_count":112820323,"authors_count":11244147,"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":{"NONE":19,"CONTRIBUTOR":4},"past_year_pull_request_author_associations_count":{"COLLABORATOR":118,"CONTRIBUTOR":18,"MEMBER":2,"NONE":2},"past_year_issue_authors":{"jaemaning":2,"William2904-hub":1,"vincentcasseau":1,"SuiYu2002":1,"simonweppe":1,"novaisc":1,"mmm197":1,"mattcarr03":1,"mateuszmatu":1,"MarianoTonini":1,"loriscalgaro":1,"lihu8918":1,"lia-f-h":1,"lencart":1,"jschwarz-dstl":1,"GRautenbach":1,"dpereiro91":1,"cgarciamolina":1,"BenSpin":1,"AndresSepulveda":1,"AndreaGierisch":1,"amercatini":1},"past_year_pull_request_authors":{"knutfrode":118,"manuelaghito":11,"AchrefAO":3,"gauteh":2,"kthyng":2,"Erispoe29":1,"josh-axiom":1,"magnesim":1,"mateuszmatu":1},"maintainers":[{"login":"knutfrode","count":900,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/knutfrode"},{"login":"gauteh","count":176,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gauteh"},{"login":"johannesro","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/johannesro"},{"login":"msdelalama","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/msdelalama"},{"login":"nilsmkMET","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nilsmkMET"}],"active_maintainers":[{"login":"knutfrode","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/knutfrode"},{"login":"gauteh","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gauteh"}]},"events":{"total":{"DiscussionEvent":2,"CreateEvent":5,"IssuesEvent":87,"WatchEvent":38,"DeleteEvent":1,"IssueCommentEvent":212,"PushEvent":161,"GollumEvent":2,"PullRequestReviewCommentEvent":16,"PullRequestReviewEvent":19,"PullRequestEvent":268,"ForkEvent":10},"last_year":{"DiscussionEvent":2,"CreateEvent":5,"IssuesEvent":82,"WatchEvent":38,"DeleteEvent":1,"IssueCommentEvent":209,"PushEvent":156,"GollumEvent":2,"PullRequestReviewCommentEvent":16,"PullRequestReviewEvent":19,"PullRequestEvent":259,"ForkEvent":9}},"keywords":["ocean","ocean-modelling","python","trajectory"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/docker.yml","sha":null,"kind":"manifest","created_at":"2023-01-14T12:30:14.136Z","updated_at":"2023-01-14T12:30:14.136Z","repository_link":"https://github.com/OpenDrift/opendrift/blob/master/.github/workflows/docker.yml","dependencies":[{"id":6896764559,"package_name":"docker/setup-buildx-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6896764560,"package_name":"docker/login-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6896764561,"package_name":"docker/build-push-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-14T12:30:14.488Z","updated_at":"2023-01-14T12:30:14.488Z","repository_link":"https://github.com/OpenDrift/opendrift/blob/master/Dockerfile","dependencies":[{"id":6896765348,"package_name":"condaforge/mambaforge","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-14T12:30:14.534Z","updated_at":"2023-01-14T12:30:14.534Z","repository_link":"https://github.com/OpenDrift/opendrift/blob/master/docs/requirements.txt","dependencies":[{"id":6896765351,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6896765352,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6896765353,"package_name":"sphinx-autoapi","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6896765354,"package_name":"sphinx-gallery","ecosystem":"pypi","requirements":"\u003e=0.5.0","direct":true,"kind":"runtime","optional":false},{"id":6896765355,"package_name":"livereload","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-01-14T12:30:15.562Z","updated_at":"2023-01-14T12:30:15.562Z","repository_link":"https://github.com/OpenDrift/opendrift/blob/master/pyproject.toml","dependencies":[{"id":6896769388,"package_name":"python","ecosystem":"pypi","requirements":"\u003e=3.8","direct":true,"kind":"runtime","optional":false},{"id":6896769389,"package_name":"matplotlib","ecosystem":"pypi","requirements":"\u003e=3.5","direct":true,"kind":"runtime","optional":false},{"id":6896769390,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.23","direct":true,"kind":"runtime","optional":false},{"id":6896769391,"package_name":"scipy","ecosystem":"pypi","requirements":"\u003e=1.9","direct":true,"kind":"runtime","optional":false},{"id":6896769446,"package_name":"netCDF4","ecosystem":"pypi","requirements":"\u003e=1.6","direct":true,"kind":"runtime","optional":false},{"id":6896769448,"package_name":"pyproj","ecosystem":"pypi","requirements":"\u003e=2.3","direct":true,"kind":"runtime","optional":false},{"id":6896769449,"package_name":"xarray","ecosystem":"pypi","requirements":"\u003e=2022.6.0","direct":true,"kind":"runtime","optional":false},{"id":6896769450,"package_name":"cfgrib","ecosystem":"pypi","requirements":"^0.9.10","direct":true,"kind":"runtime","optional":false},{"id":6896769452,"package_name":"pygrib","ecosystem":"pypi","requirements":"^2.1.4","direct":true,"kind":"runtime","optional":false},{"id":6896769454,"package_name":"dask","ecosystem":"pypi","requirements":"^2022.9.0","direct":true,"kind":"runtime","optional":false},{"id":6896769456,"package_name":"cmocean","ecosystem":"pypi","requirements":"^2.0","direct":true,"kind":"runtime","optional":false},{"id":6896769457,"package_name":"geojson","ecosystem":"pypi","requirements":"^2.5.0","direct":true,"kind":"runtime","optional":false},{"id":6896769459,"package_name":"nc-time-axis","ecosystem":"pypi","requirements":"^1.4.1","direct":true,"kind":"runtime","optional":false},{"id":6896769461,"package_name":"coloredlogs","ecosystem":"pypi","requirements":"^15.0.1","direct":true,"kind":"runtime","optional":false},{"id":6896769463,"package_name":"GDAL","ecosystem":"pypi","requirements":"^3.3.1","direct":true,"kind":"runtime","optional":false},{"id":6896769464,"package_name":"Cartopy","ecosystem":"pypi","requirements":"\u003e=0.20","direct":true,"kind":"runtime","optional":false},{"id":6896769466,"package_name":"pynucos","ecosystem":"pypi","requirements":"\u003e=3","direct":true,"kind":"runtime","optional":false},{"id":6896769468,"package_name":"utm","ecosystem":"pypi","requirements":"^0.7.0","direct":true,"kind":"runtime","optional":false},{"id":6896769469,"package_name":"roaring-landmask","ecosystem":"pypi","requirements":"\u003e=0.7","direct":true,"kind":"runtime","optional":false},{"id":6896769471,"package_name":"requests","ecosystem":"pypi","requirements":"^2.28.1","direct":true,"kind":"runtime","optional":false},{"id":6896769472,"package_name":"pykdtree","ecosystem":"pypi","requirements":"^1.3.5","direct":true,"kind":"runtime","optional":false},{"id":6896769473,"package_name":"trajan","ecosystem":"pypi","requirements":"\u003e=0.1.3","direct":true,"kind":"runtime","optional":false},{"id":6896769719,"package_name":"pytest","ecosystem":"pypi","requirements":"^7.1.3","direct":true,"kind":"develop","optional":false},{"id":6896769721,"package_name":"pytest-benchmark","ecosystem":"pypi","requirements":"^3.4.1","direct":true,"kind":"develop","optional":false},{"id":6896769723,"package_name":"pytest-mpl","ecosystem":"pypi","requirements":"^0.16.1","direct":true,"kind":"develop","optional":false}]},{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2025-12-17T03:07:26.662Z","updated_at":"2025-12-17T03:07:26.662Z","repository_link":"https://github.com/OpenDrift/opendrift/blob/master/environment.yml","dependencies":[{"id":25771366771,"package_name":"matplotlib","ecosystem":"conda","requirements":"\u003e=3.5","direct":true,"kind":"runtime","optional":false},{"id":25771366776,"package_name":"numpy","ecosystem":"conda","requirements":"\u003e1.23","direct":true,"kind":"runtime","optional":false},{"id":25771366777,"package_name":"scipy","ecosystem":"conda","requirements":"\u003e=1.14","direct":true,"kind":"runtime","optional":false},{"id":25771366917,"package_name":"netcdf4","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771366932,"package_name":"ffmpeg","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771366944,"package_name":"pyproj","ecosystem":"conda","requirements":"\u003e=2.3","direct":true,"kind":"runtime","optional":false},{"id":25771367112,"package_name":"libgdal","ecosystem":"conda","requirements":"\u003e=3.1","direct":true,"kind":"runtime","optional":false},{"id":25771367113,"package_name":"gdal","ecosystem":"conda","requirements":"\u003e=3.1","direct":true,"kind":"runtime","optional":false},{"id":25771367163,"package_name":"xarray","ecosystem":"conda","requirements":"\u003c=2025.9.0","direct":true,"kind":"runtime","optional":false},{"id":25771367166,"package_name":"dask","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367209,"package_name":"geopandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367218,"package_name":"cfgrib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367219,"package_name":"cf_xarray","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367269,"package_name":"pygrib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367270,"package_name":"xhistogram","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367283,"package_name":"requests","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367298,"package_name":"pytest","ecosystem":"conda","requirements":"\u003c8","direct":true,"kind":"runtime","optional":false},{"id":25771367334,"package_name":"pytest-cov","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367350,"package_name":"pytest-benchmark","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367353,"package_name":"pytest-mpl","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367356,"package_name":"cartopy","ecosystem":"conda","requirements":"\u003e=0.20","direct":true,"kind":"runtime","optional":false},{"id":25771367368,"package_name":"nc-time-axis","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367384,"package_name":"geojson","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367396,"package_name":"pynucos","ecosystem":"conda","requirements":"\u003e=2.12","direct":true,"kind":"runtime","optional":false},{"id":25771367421,"package_name":"isodate","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367426,"package_name":"coloredlogs","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367427,"package_name":"cmocean","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367428,"package_name":"utm","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367430,"package_name":"roaring-landmask","ecosystem":"conda","requirements":"\u003e=0.7","direct":true,"kind":"runtime","optional":false},{"id":25771367432,"package_name":"adios_db","ecosystem":"conda","requirements":"\u003e=1.2,\u003c1.2.7","direct":true,"kind":"runtime","optional":false},{"id":25771367433,"package_name":"copernicusmarine","ecosystem":"conda","requirements":"\u003e=2.0","direct":true,"kind":"runtime","optional":false},{"id":25771367435,"package_name":"bottleneck","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367443,"package_name":"python-dotenv","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367462,"package_name":"pip","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":25771367463,"package_name":"git","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]}],"score":10.086350629348313,"created_at":"2023-09-11T11:54:35.668Z","updated_at":"2026-04-29T13:30:51.717Z","avatar_url":"https://github.com/OpenDrift.png","language":"Python","category":"Hydrosphere","sub_category":"Waves and Currents","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![Build Status](https://circleci.com/gh/OpenDrift/opendrift.svg?style=svg)](https://app.circleci.com/pipelines/github/OpenDrift/opendrift)\n[![Coverage Status](https://coveralls.io/repos/github/OpenDrift/opendrift/badge.svg?branch=master)](https://coveralls.io/github/OpenDrift/opendrift?branch=master)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.582321.svg)](https://doi.org/10.5281/zenodo.582321)\n[![Slack](https://img.shields.io/badge/slack-opendrift-yellow.svg)](https://join.slack.com/t/opendrift-dev/shared_invite/zt-ozansc5h-AzMOOS9jOs~3CBihRR37Lw)\n[![PyPI version](https://badge.fury.io/py/opendrift.svg)](https://badge.fury.io/py/opendrift)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/opendrift/badges/version.svg)](https://anaconda.org/conda-forge/opendrift)\n\nopendrift\n=========\n\n![Image](https://github.com/opendrift/opendrift/blob/master/docs/opendrift_logo.png)\n\nOpenDrift is a software for modeling the trajectories and fate of objects or substances drifting in the ocean, or even in the atmosphere.\n\n![OpenDrift animation](https://dl.dropboxusercontent.com/s/u9apyh7ci1mdowg/opendrift.gif?dl=0)\n\n[Documentation and installation instructions can be found here](https://opendrift.github.io/install.html).\n\nDevelopment\n===========\n\nWe have a [slack-organization open for anyone to join](https://join.slack.com/t/opendrift-dev/shared_invite/zt-ozansc5h-AzMOOS9jOs~3CBihRR37Lw).\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.582321"],"works":{"https://doi.org/10.5281/zenodo.582321":{"id":"https://openalex.org/W3209968431","doi":"https://doi.org/10.5281/zenodo.582321","title":"First release of OpenDrift, an open source framework for ocean trajectory modelling","display_name":"First release of OpenDrift, an open source framework for ocean trajectory modelling","publication_year":2017,"publication_date":"2017-05-22","ids":{"openalex":"https://openalex.org/W3209968431","doi":"https://doi.org/10.5281/zenodo.582321","mag":"3209968431"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://zenodo.org/record/582321","pdf_url":null,"source":null,"license":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5022296722","display_name":"Knut‐Frode Dagestad","orcid":"https://orcid.org/0000-0002-0412-7485"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Knut-Frode Dagestad","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5084200036","display_name":"Johannes Röhrs","orcid":"https://orcid.org/0000-0001-8402-2925"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Johannes Röhrs","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5065271284","display_name":"Øyvind Breivik","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Øyvind Breivik","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5020895632","display_name":"Bjorn Aadlandsvik","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Bjorn Aadlandsvik","raw_affiliation_string":"","raw_affiliation_strings":[]}],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"has_fulltext":false,"cited_by_count":0,"cited_by_percentile_year":{"min":0,"max":70},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"ocean trajectory modelling","score":0.7736},{"keyword":"opendrift source framework","score":0.3588}],"concepts":[{"id":"https://openalex.org/C13662910","wikidata":"https://www.wikidata.org/wiki/Q193139","display_name":"Trajectory","level":2,"score":0.63783723},{"id":"https://openalex.org/C39432304","wikidata":"https://www.wikidata.org/wiki/Q188847","display_name":"Environmental science","level":0,"score":0.43635464},{"id":"https://openalex.org/C127313418","wikidata":"https://www.wikidata.org/wiki/Q1069","display_name":"Geology","level":0,"score":0.37487632},{"id":"https://openalex.org/C111368507","wikidata":"https://www.wikidata.org/wiki/Q43518","display_name":"Oceanography","level":1,"score":0.3686756},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.32494816},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.13426483},{"id":"https://openalex.org/C1276947","wikidata":"https://www.wikidata.org/wiki/Q333","display_name":"Astronomy","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://zenodo.org/record/582321","pdf_url":null,"source":null,"license":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/14","display_name":"Life below water","score":0.68},{"id":"https://metadata.un.org/sdg/13","display_name":"Climate action","score":0.1}],"grants":[],"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W14954604","https://openalex.org/W58351547","https://openalex.org/W110300463","https://openalex.org/W568328696","https://openalex.org/W1954192445","https://openalex.org/W1993621131","https://openalex.org/W2001729461","https://openalex.org/W2028141304","https://openalex.org/W2033351288","https://openalex.org/W2088327670","https://openalex.org/W2155133298","https://openalex.org/W2166673423","https://openalex.org/W2171137610","https://openalex.org/W2289780912","https://openalex.org/W2293962013","https://openalex.org/W2620465597","https://openalex.org/W2783432075","https://openalex.org/W2990921379","https://openalex.org/W3184021605","https://openalex.org/W3191986493"],"ngrams_url":"https://api.openalex.org/works/W3209968431/ngrams","abstract_inverted_index":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W3209968431","counts_by_year":[],"updated_date":"2023-12-10T00:06:54.998870","created_date":"2021-11-08"}},"citation_counts":{"https://doi.org/10.5281/zenodo.582321":0},"total_citations":0,"keywords_from_contributors":["oceanography","climate","ogc","ecology","drift"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/691","html_url":"https://ost.ecosyste.ms/projects/691"}