{"id":37712999,"url":"https://github.com/obidam/pcm","last_synced_at":"2026-01-16T13:21:37.049Z","repository":{"id":92183104,"uuid":"84186493","full_name":"obidam/pcm","owner":"obidam","description":"Profile Classification Modelling (PCM) is an ocean data analysis method based on un-supervised classification of vertical profiles","archived":false,"fork":false,"pushed_at":"2019-01-30T20:30:31.000Z","size":51983,"stargazers_count":20,"open_issues_count":1,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-01-28T19:12:44.454Z","etag":null,"topics":["classification","data-mining","matlab","ocean","ocean-modelling","oceanography","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/obidam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-03-07T10:30:21.000Z","updated_at":"2023-07-29T18:11:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7e3b973-3986-4656-a4db-40815b52788b","html_url":"https://github.com/obidam/pcm","commit_stats":{"total_commits":20,"total_committers":1,"mean_commits":20.0,"dds":0.0,"last_synced_commit":"a89880b63fe373d7a07248782831704f46a98fe8"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/obidam/pcm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obidam%2Fpcm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obidam%2Fpcm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obidam%2Fpcm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obidam%2Fpcm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obidam","download_url":"https://codeload.github.com/obidam/pcm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obidam%2Fpcm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","data-mining","matlab","ocean","ocean-modelling","oceanography","python"],"created_at":"2026-01-16T13:21:36.411Z","updated_at":"2026-01-16T13:21:37.044Z","avatar_url":"https://github.com/obidam.png","language":"Jupyter Notebook","readme":"Profile Classification Modelling (PCM)\n======================================\n[![DOI](https://img.shields.io/badge/DOI--Article-10.1016%2Fj.pocean.2016.12.008-orange.svg)](http://dx.doi.org/10.1016/j.pocean.2016.12.008)  \n\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg)]()\n\n**Profile Classification Modelling** is a scientific analysis approach based on vertical profiles classification that can be used in a variety of oceanographic problems (front detection, water mass identification, natural region contouring, reference profile selection for validation, etc ...).  \nIt is being developed at Ifremer/LOPS in collaboration with IMT Atlantique since 2015, and has become mature enough (with publication and communications) to be distributed and made publicly available for continuous improvements with a community development.\n\n**Ocean dynamics** and its 3-dimensional structure and variability is so complex that it is very difficult to develop objective and efficient diagnostics of horizontally and vertically coherent oceanic patterns. However, identifying such **patterns** is crucial to the understanding of interior mechanisms as, for instance, the integrand giving rise to Global Ocean Indicators (e.g. heat content and sea level rise). We believe that, by using state of the art **machine learning** algorithms and by building on the increasing availability of ever-larger **in situ and numerical model datasets**, we can address this challenge in a way that was simply not possible a few years ago. Following this approach, **Profile Classification Modelling** focuses on the smart identification of vertically coherent patterns and their spatial distribution.\n\n*References*: \n\n- Maze, G., et al. Coherent heat patterns revealed by unsupervised classification of Argo temperature profiles in the North Atlantic Ocean. *Progress in Oceanography*, 151, 275-292 (2017)  \n    [http://dx.doi.org/10.1016/j.pocean.2016.12.008](http://dx.doi.org/10.1016/j.pocean.2016.12.008)\n- Maze, G., et al. Profile Classification Models. *Mercator Ocean Journal*, 55, 48-56 (2017).   \n    [http://archimer.ifremer.fr/doc/00387/49816](http://archimer.ifremer.fr/doc/00387/49816)\n- Maze, G. A Profile Classification Model from North-Atlantic Argo temperature data. *SEANOE Sea scientific open data edition*.  \n    [http://doi.org/10.17882/47106](http://doi.org/10.17882/47106)\n\n## Python package\n[![Python 2.7](https://img.shields.io/badge/python-2.7-blue.svg)](https://www.python.org/downloads/release/python-270/) [![](https://img.shields.io/badge/xarray-0.10.0-blue.svg)](http://xarray.pydata.org/en/stable/) \n\nWe are currently developing a Python package to work with PCM easily.  \n**You can check out the first release on the [pyXpcm](https://github.com/obidam/pyxpcm) homepage.**  \nOtherwise you can still [look at a\nclassic PCM workflow on this notebook](https://github.com/obidam/pcm/blob/master/python/PCM-workflow-classic-demo.ipynb).\n\n## Matlab toolbox\n[![DOI](https://img.shields.io/badge/DOI--Matlab-10.5281%2Fzenodo.400018-orange.svg)](http://dx.doi.org/10.5281/zenodo.400018) [![](https://img.shields.io/badge/matlab-\u003eR2016b-blue.svg)]()  \n\nThis is the original code for PCM used in [Maze et al (2017)](http://dx.doi.org/10.1016/j.pocean.2016.12.008).  \n\n[You can get started with the Matlab toolobx following this wiki page](https://github.com/obidam/pcm/blob/master/matlab/README.md)\n\nNote that @gmaze will provide help to use it, but won't maintain the code. Contact us if you want to contribute !\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobidam%2Fpcm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobidam%2Fpcm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobidam%2Fpcm/lists"}