{"id":46091,"name":"m_mhw","description":"Detect and analyse spatial marine heatwaves.","url":"https://github.com/ZijieZhaoMMHW/m_mhw1.0","last_synced_at":"2026-04-14T20:30:19.699Z","repository":{"id":52261378,"uuid":"156620403","full_name":"ZijieZhaoMMHW/m_mhw1.0","owner":"ZijieZhaoMMHW","description":"A MATLAB toolbox to detect and analyze marine heatwaves (MHWs).","archived":false,"fork":false,"pushed_at":"2026-03-06T03:48:42.000Z","size":65622,"stargazers_count":58,"open_issues_count":17,"forks_count":21,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-03-12T01:11:47.678Z","etag":null,"topics":["climate-science","data-analysis","heatwaves","marine-heatwaves","matlab"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","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/ZijieZhaoMMHW.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/Contributing_to_mmhw.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"docs/Code_of_Conduct.md","threat_model":null,"audit":null,"citation":null,"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":"2018-11-07T23:08:47.000Z","updated_at":"2026-03-06T03:48:46.000Z","dependencies_parsed_at":"2023-09-21T19:29:47.193Z","dependency_job_id":"257e82f6-1fee-44f0-9433-4aa84877f2a3","html_url":"https://github.com/ZijieZhaoMMHW/m_mhw1.0","commit_stats":{"total_commits":138,"total_committers":1,"mean_commits":138.0,"dds":0.0,"last_synced_commit":"cbd79d18cca8fcf37df1843cd784248078598ae8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ZijieZhaoMMHW/m_mhw1.0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZijieZhaoMMHW","download_url":"https://codeload.github.com/ZijieZhaoMMHW/m_mhw1.0/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30875200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-24T02:58:37.973Z","status":"ssl_error","status_checked_at":"2026-03-24T02:57:23.829Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ZijieZhaoMMHW","name":"Zijie Zhao","uuid":"44852627","kind":"user","description":"A boring researcher who does not  know so many things. email: zijiezhaomj@gmail.com","email":"","website":null,"location":"Melbourne","twitter":null,"company":"The University of Melbourne","icon_url":"https://avatars.githubusercontent.com/u/44852627?u=ce175fefe6167faa7a682003c370cb5e0b7d38ee\u0026v=4","repositories_count":2,"last_synced_at":"2023-02-27T14:30:34.205Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ZijieZhaoMMHW","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-02-27T14:30:34.206Z","updated_at":"2023-02-27T14:30:34.206Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZijieZhaoMMHW","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZijieZhaoMMHW/repositories"},"packages":[],"commits":{"id":1358740,"full_name":"ZijieZhaoMMHW/m_mhw1.0","default_branch":"master","total_commits":145,"total_committers":1,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":145.0,"dds":0.0,"past_year_total_commits":7,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":7.0,"past_year_dds":0.0,"last_synced_at":"2026-04-13T14:01:44.755Z","last_synced_commit":"a7bdda7ff5a3ab4b5e09c0a1a50b86ef73b0575c","created_at":"2023-09-13T08:46:39.129Z","updated_at":"2026-04-13T14:01:31.189Z","committers":[{"name":"Zijie Zhao","email":"44852627+ZijieZhaoMMHW","login":"ZijieZhaoMMHW","count":145}],"past_year_committers":[{"name":"Zijie Zhao","email":"44852627+ZijieZhaoMMHW","login":"ZijieZhaoMMHW","count":7}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-13T00:00:06.408Z","repositories_count":6213014,"commits_count":903843794,"contributors_count":34932619,"owners_count":1144128,"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":"ZijieZhaoMMHW/m_mhw1.0","html_url":"https://github.com/ZijieZhaoMMHW/m_mhw1.0","last_synced_at":"2026-04-05T10:01:17.392Z","status":"error","issues_count":20,"pull_requests_count":5,"avg_time_to_close_issue":1893054.111111111,"avg_time_to_close_pull_request":null,"issues_closed_count":9,"pull_requests_closed_count":0,"pull_request_authors_count":3,"issue_authors_count":14,"avg_comments_per_issue":1.25,"avg_comments_per_pull_request":0.2,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-09-13T08:47:14.174Z","updated_at":"2026-04-05T10:01:17.393Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZijieZhaoMMHW%2Fm_mhw1.0/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":18,"OWNER":1,"COLLABORATOR":1},"pull_request_author_associations_count":{"COLLABORATOR":3,"NONE":2},"issue_authors":{"mvdh7":6,"Marina-red":2,"Smabmn":1,"7eatriz":1,"met-sree":1,"sxuswy":1,"ZijieZhaoMMHW":1,"cindyisok":1,"Hangyu1008":1,"maximemarin":1,"MazenBayoumy":1,"iljamal":1,"mlchandler":1,"keegancarvalho28":1},"pull_request_authors":{"maximemarin":3,"codacy-badger":1,"mlchandler":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-07T00:00:09.463Z","repositories_count":14123892,"issues_count":34523031,"pull_requests_count":112714654,"authors_count":11228463,"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":1},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"cindyisok":1},"past_year_pull_request_authors":{},"maintainers":[{"login":"maximemarin","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maximemarin"},{"login":"ZijieZhaoMMHW","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ZijieZhaoMMHW"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":4,"IssuesEvent":4,"WatchEvent":16,"IssueCommentEvent":11,"PushEvent":5},"last_year":{"ForkEvent":1,"IssuesEvent":2,"WatchEvent":4,"IssueCommentEvent":1,"PushEvent":2}},"keywords":["climate-science","data-analysis","heatwaves","marine-heatwaves","matlab"],"dependencies":[],"score":4.31748811353631,"created_at":"2023-09-13T08:45:13.105Z","updated_at":"2026-04-14T20:30:19.703Z","avatar_url":"https://github.com/ZijieZhaoMMHW.png","language":"MATLAB","category":"Hydrosphere","sub_category":"Ocean Carbon and Temperature","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"m_mhw\n==================================================================\n[![DOI](http://joss.theoj.org/papers/10.21105/joss.01124/status.svg)](https://doi.org/10.21105/joss.01124)\n\nThe **`m_mhw`** toolbox is an matlab - based tool designed to detect and analyse spatial marine heatwaves (MHWs). Previously, approaches to detecting and analysing MHW time series have been applied in python (https://github.com/ecjoliver/marineHeatWaves, written by Eric C. J. Oliver) and R (Schlegel and Smit, 2018). \n\nThe **`m_mhw`** toolbox is designed 1) to determine spatial MHWs according to the definition provided in Hobday et al. (2016) and marine cold spells (MCSs) introduced in Schlegel et al. (2017); 2) to visualize MHW/MCS event in a particular location during a period; 3) to explore the mean states and trends of MHW metrics, such as what have done in Oliver et al. (2018). \n\nInstallation\n-------------\n\nThe installation of this toolbox could be directly achieved by downloading this repositories and add its path in your MATLAB.\n\nRequirements\n-------------\n\nThe MATLAB Statistics and Machine Learning Toolbox. [m_map](https://www.eoas.ubc.ca/~rich/map.html) is recommended for running example.\n\nFunctions\n-------------\n\n\u003ctable\u003e\n\u003ccolgroup\u003e\n\u003ccol width=\"17%\" /\u003e\n\u003ccol width=\"82%\" /\u003e\n\u003c/colgroup\u003e\n\u003cthead\u003e\n\u003ctr class=\"header\"\u003e\n\u003cth\u003eFunction\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003edetect()\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eThe main function, aiming to detect spatial MHW/MCS events following definition given by Hobday et al. (2016). \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003edetectc()\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSimilar to detect but it stores the MHW output in cell format, resulting in faster computation. See an example for the comparison between detect and detectc. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"even\"\u003e\n\u003ctd\u003e\u003ccode\u003eevent_line()\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eThe function to create a line plot of MHW/MCS in a particular grid during a particular period.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003emean_and_trend()\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eThe function to calculate spatial mean states and annual trends of MHW/MCS properties (**not recommended now as there are many ways to calculate MHW metrics**). \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"even\"\u003e\n\u003ctd\u003e\u003ccode\u003ecomposites()\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eThe function to calculate composites for a particular dataset across a particular index. \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\nAdditionally, this toolbox also provides sea surface temperature off eastern Tasmania [147-155E, 45-37S] during 1982-2015, extracted from NOAA OI SST V2 (Reynolds et al., 2007).\n\nInputs and outputs\n--------------------\n\nThe core function `detect` need some inputs:\n\n\u003ctable\u003e\n\u003ccolgroup\u003e\n\u003ccol width=\"17%\" /\u003e\n\u003ccol width=\"82%\" /\u003e\n\u003c/colgroup\u003e\n\u003cthead\u003e\n\u003ctr class=\"header\"\u003e\n\u003cth\u003eVariable\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003etemp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA 3D matrix containing temperature data. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"even\"\u003e\n\u003ctd\u003e\u003ccode\u003etime\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the time corresponding to temp in the format of \u003ccode\u003edatenum()\u003ccode\u003e. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003ecli_start\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric value indicating the starting date for calculating climatology in the format of \u003ccode\u003edatenum()\u003ccode\u003e. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“even”\u003e\n\u003ctd\u003e\u003ccode\u003ecli_end\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric value indicating the ending date for calculating climatology in the format of \u003ccode\u003edatenum()\u003ccode\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“odd”\u003e\n\u003ctd\u003e\u003ccode\u003emhw_start\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric value indicating the starting date for detection of MHW in the format of \u003ccode\u003edatenum()\u003ccode\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“even”\u003e\n\u003ctd\u003e\u003ccode\u003emhw_end\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric value indicating the ending date for detection of MHW in the format of \u003ccode\u003edatenum()\u003ccode\u003e.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\nThe core function `detect` would return four outputs, which are `MHW`, `mclim`, `m90` and `mhw_ts`. Their descriptions are summarized in following table. \n\n\u003ctable\u003e\n\u003ccolgroup\u003e\n\u003ccol width=\"17%\" /\u003e\n\u003ccol width=\"82%\" /\u003e\n\u003c/colgroup\u003e\n\u003cthead\u003e\n\u003ctr class=\"header\"\u003e\n\u003cth\u003eVariable\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003eMHW\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA table containing all detected MHW/MCS events, where every row corresponds to a particular event and every column indicates a metric or property. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"even\"\u003e\n\u003ctd\u003e\u003ccode\u003emclim\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA 3D numeric matrix in size of (x,y,366), containing climatologies in each grid for every Julian day. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003em90\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA 3D numeric matrix in size of (x,y,366), containing thresholds in each grid for every Julian day. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“even”\u003e\n\u003ctd\u003e\u003ccode\u003emhw_ts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA 3D numeric matrix in size of (x,y,(datenum(MHW_end)-datenum(MHW_start)+1)), containing daily MHW/MCS intensity. 0 in this variable indicates that corresponding day is not in a MHW/MCS event and NaN indicates missing value or lands. \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\nThe major output `MHW` contains all detected MHW/MCS events, characterized by 9 different properties, including:\n\n\u003ctable\u003e\n\u003ccolgroup\u003e\n\u003ccol width=\"17%\" /\u003e\n\u003ccol width=\"82%\" /\u003e\n\u003c/colgroup\u003e\n\u003cthead\u003e\n\u003ctr class=\"header\"\u003e\n\u003cth\u003eProperty\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003emhw_onset\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the onset date (YYYYMMDD) of each event. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"even\"\u003e\n\u003ctd\u003e\u003ccode\u003emhw_end\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eSimilar to \u003ccode\u003emhw_onset\u003c/code\u003e, but indicating the end date (YYYYMMDD). \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=\"odd\"\u003e\n\u003ctd\u003e\u003ccode\u003emhw_dur\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the duration (days) of each event. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“even”\u003e\n\u003ctd\u003e\u003ccode\u003eint_max\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the maximum intensity of each event in unit of deg. C. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“odd”\u003e\n\u003ctd\u003e\u003ccode\u003eint_mean\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the mean intensity of each event in unit of deg. C. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“even”\u003e\n\u003ctd\u003e\u003ccode\u003eint_var\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the variance of intensity of each event. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“odd”\u003e\n\u003ctd\u003e\u003ccode\u003eint_cum\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the cumulative intensity of each event in unit of deg. C x days. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“even”\u003e\n\u003ctd\u003e\u003ccode\u003exloc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the location of each event in the x-dimension of temperature data. \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr class=“odd”\u003e\n\u003ctd\u003e\u003ccode\u003eyloc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eA numeric vector indicating the location of each event in the y-dimension of temperature data. \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\nFor information of other functions, please see `help` text via MATLAB. For practical tutorial and example, please see following contents.\n\nExample\n----------\n\nWe provide [examples](https://github.com/ZijieZhaoMMHW/m_mhw1.0/tree/master/examples) about how to use functions in **`m_mhw`** and how to apply them to real-world data. \n\nCurrent examples include:\n\n[An example about how to apply m_mhw to real-world data](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/an_example.md) [(Codes)](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/an_example.m)\n\n[Analysing seasonality and monthly variability of MHWs](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/seasonality.md) [(Codes)](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/seasonality.m)\n\n[EOF analysis on annual MHW days](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/mhweof.md) [(Codes)](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/mhweof.m)\n\n[MHW Category Analysis](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/category_analysis.md) [(Codes)](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/category_analysis.m)\n\n[EOF analysis on annual MHW cumulative intensity](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/mhweof_int.md) [(Codes)](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/mhweof_int.m)\n\n[Comparison for the efficiency biases between `detect` and `detectc`](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/mhw_efficiency.md) [(Codes)](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/examples/mhw_efficiency.m)\n\nIssues\n--------------------\n\nThe results from this toolbox would be slightly different from outputs from Python and R modules. This is due to the fact that MATLAB follows different rules to calculate percentile thresholds. The number of detected events from this toolbox would be slightly less than that from Python and R. Please see a [comparison](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/testing/compare_M_R.md). If you would like to get the same outputs as python, please set the optional input `'percentile'` as `'python'` (default is `'matlab'`).\n\nContributing to **`m_mhw`**\n----------\n\nTo contribute to the package please follow the guidelines [here](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/docs/Contributing_to_mmhw.md).\n\nPlease use this [link](https://github.com/ZijieZhaoMMHW/m_mhw1.0/issues) to report any bugs found.\n\nCitation\n----------\nIf you use this toolbox, please cite the paper:\n\nZhao, Z., \u0026 Marin, M. (2019). A MATLAB toolbox to detect and analyze marine heatwaves. Journal of Open Source Software, 4(33), 1124.\n\nSpoiler\n----------\nCurrently working on an extension of this toolbox focusing on spatiotemporal trackings of MHWs. You can get a bit favour on it here now.\n![MHW Morphological](https://github.com/ZijieZhaoMMHW/m_mhw1.0/blob/master/store_figure/tasmansea_example.gif)\n\nReferences\n----------\n\nHobday, A.J. et al. (2016). A hierarchical approach to defining marine heatwaves, Progress in Oceanography, 141, pp. 227-238.\n\nSchlegel, R. W., Oliver, E. C. J., Wernberg, T. W., Smit, A. J., 2017. Nearshore and offshore co-occurrences of marine heatwaves and cold-spells. Progress in Oceanography, 151, pp. 189-205.\n\nSchlegel, R. W. and Smit, A. J, 2018. heatwaveR: A central algorithm for the detection of heatwaves and cold-spells. The Journal of Open Source Software, 3, p.821.\n\nOliver, E.C., Lago, V., Hobday, A.J., Holbrook, N.J., Ling, S.D. and Mundy, C.N., 2018. Marine heatwaves off eastern Tasmania: Trends, interannual variability, and predictability. Progress in Oceanography, 161, pp.116-130.\n\nReynolds, Richard W., Thomas M. Smith, Chunying Liu, Dudley B. Chelton, Kenneth S. Casey, Michael G. Schlax, 2007: Daily High-Resolution-Blended Analyses for Sea Surface Temperature. J. Climate, 20, 5473-5496. \n\nContact\n-------\n\nZijie Zhao\n\nSchool of Earth Science, The University of Melbourne\n\nParkville VIC 3010, Melbourne, Australia\n\nE-mail: \u003czijie.zhao@utas.edu.au\u003e \n\nMaxime Marin\n\nCSIRO Oceans \u0026 Atmosphere, Indian Ocean Marine Research Centre\n\nCrawley 6009, Western Australia, Australia\n\nE-mail: \u003cMaxime.Marin@csiro.au\u003e \n\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.01124"],"works":{"https://doi.org/10.21105/joss.01124":{"id":"https://openalex.org/W2913564853","doi":"https://doi.org/10.21105/joss.01124","title":"A MATLAB toolbox to detect and analyze marine heatwaves","display_name":"A MATLAB toolbox to detect and analyze marine heatwaves","publication_year":2019,"publication_date":"2019-01-21","ids":{"openalex":"https://openalex.org/W2913564853","doi":"https://doi.org/10.21105/joss.01124","mag":"2913564853"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.01124","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.01124.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://joss.theoj.org/papers/10.21105/joss.01124.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5023726615","display_name":"Zijie Zhao","orcid":"https://orcid.org/0000-0003-3403-878X"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Zijie Zhao","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5021911236","display_name":"Maxime Marin","orcid":"https://orcid.org/0000-0001-7209-4454"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Maxime Marin","raw_affiliation_string":"","raw_affiliation_strings":[]}],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"apc_paid":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"has_fulltext":false,"cited_by_count":34,"cited_by_percentile_year":{"min":96,"max":97},"biblio":{"volume":"4","issue":"33","first_page":"1124","last_page":"1124"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"matlab toolbox","score":0.4469}],"concepts":[{"id":"https://openalex.org/C2777655017","wikidata":"https://www.wikidata.org/wiki/Q1501161","display_name":"Toolbox","level":2,"score":0.87353957},{"id":"https://openalex.org/C2780365114","wikidata":"https://www.wikidata.org/wiki/Q169478","display_name":"MATLAB","level":2,"score":0.63217175},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6130033},{"id":"https://openalex.org/C39432304","wikidata":"https://www.wikidata.org/wiki/Q188847","display_name":"Environmental science","level":0,"score":0.34333915},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.12851733}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.01124","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.01124.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.01124","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.01124.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/14","display_name":"Life below water","score":0.63},{"id":"https://metadata.un.org/sdg/13","display_name":"Climate action","score":0.11}],"grants":[],"referenced_works_count":14,"referenced_works":["https://openalex.org/W1968178762","https://openalex.org/W2036462485","https://openalex.org/W2086825875","https://openalex.org/W2108313195","https://openalex.org/W2143780283","https://openalex.org/W2165297205","https://openalex.org/W2168909889","https://openalex.org/W2230443456","https://openalex.org/W2322130052","https://openalex.org/W2567992542","https://openalex.org/W2735759243","https://openalex.org/W2792634037","https://openalex.org/W2797541543","https://openalex.org/W2887111760"],"related_works":["https://openalex.org/W2899084033","https://openalex.org/W2377984624","https://openalex.org/W2348740175","https://openalex.org/W4243049533","https://openalex.org/W2372487761","https://openalex.org/W2748952813","https://openalex.org/W2068663075","https://openalex.org/W2797837731","https://openalex.org/W2978678743","https://openalex.org/W2150344375"],"ngrams_url":"https://api.openalex.org/works/W2913564853/ngrams","abstract_inverted_index":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2913564853","counts_by_year":[{"year":2023,"cited_by_count":17},{"year":2022,"cited_by_count":7},{"year":2021,"cited_by_count":7},{"year":2019,"cited_by_count":3}],"updated_date":"2023-12-14T11:28:23.382945","created_date":"2019-02-21"}},"citation_counts":{"https://doi.org/10.21105/joss.01124":34},"total_citations":34,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/46091","html_url":"https://ost.ecosyste.ms/projects/46091"}