{"id":604,"date":"2023-06-21T17:41:27","date_gmt":"2023-06-21T16:41:27","guid":{"rendered":"https:\/\/research.reading.ac.uk\/huracan\/?page_id=604"},"modified":"2023-12-06T12:22:41","modified_gmt":"2023-12-06T12:22:41","slug":"storm_assess","status":"publish","type":"page","link":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/","title":{"rendered":"storm_assess"},"content":{"rendered":"<h3>Introduction<\/h3>\n<p><strong><span style=\"font-family: terminal, monaco, monospace\">storm_assess<\/span><\/strong> is a Python module to read ascii-format output from the <em>TRACK<\/em> and <em>TempestExtremes<\/em> cyclone-tracking algorithms, originally developed by Joanne Camp (Met Office &amp; Bureau of Meteorology), and is available on JASMIN at: <span style=\"font-family: terminal, monaco, monospace\">\/gws\/nopw\/j04\/huracan\/tools\/python\/storm_assess\/<\/span><\/p>\n<p>A version of <span style=\"font-family: terminal, monaco, monospace\">storm_assess<\/span>, developed by Malcolm Roberts (Met Office), was developed for reading NetCDF-format track output data (from HighResMIP), which is <a href=\"https:\/\/github.com\/PRIMAVERA-H2020\/HighResMIP-storm_reader\" target=\"_blank\" rel=\"noopener\">available here<\/a>.<\/p>\n<h3>A simple example: load a <em>TRACK<\/em> output file and plot a pressure-wind relationship<\/h3>\n<blockquote><p><span style=\"font-family: terminal, monaco, monospace;color: #993300\">import numpy as np<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">import matplotlib.pyplot as plt<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">from storm_assess import track<\/span><\/p>\n<p><span style=\"font-family: terminal, monaco, monospace;color: #993300\"># Load a list of storms and get the wind speed and central pressure data<br \/>\ntrack_fn = &#8216;track_filename&#8217;<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">storms = list(track.load(track_fn))<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">mslp_minima = [storm.mslp_min for storm in storms]<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">vmax_maxima = [storm.vmax for storm in storms]<\/span><\/p>\n<p><span style=\"font-family: terminal, monaco, monospace;color: #993300\"># Fit<br \/>\ncoeff = np.polyfit(vmax_maxima,mslp_minima,2.)<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">poly1d = np.poly1d(coeff)<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">fit_x = np.linspace(min(vmax_maxima),max(vmax_maxima),len(vmax_maxima))<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">fit_y = poly1d(fit_x)<\/span><\/p>\n<p><span style=\"font-family: terminal, monaco, monospace;color: #993300\"># Plot<br \/>\nplt.scatter(vmax_maxima,mslp_minima,color=&#8217;r&#8217;,marker=&#8217;.&#8217;,alpha=0.5)<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">plt.plot(fit_x,fit_y,color=&#8217;r&#8217;,label=&#8217;dataset name&#8217;)<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">plt.ylabel(r&#8217;p$_{min}$&#8217;)<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">plt.xlabel(r&#8217;v$_{max}$&#8217;)<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">plt.legend()<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">plt.show()<\/span><\/p><\/blockquote>\n<p>Each <span style=\"font-family: terminal, monaco, monospace\">storm<\/span> object contains attributes that describe the location and additional fields (i.e., wind speed, central pressure etc) for each track. For example:<\/p>\n<blockquote><p><span style=\"font-family: terminal, monaco, monospace;color: #993300\">storm = storms[i]<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">storm.obs<br \/>\nstorm.vmax<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">storm.mslp_min<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">storm.obs[t].date<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">storm.obs[t].lon<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace;color: #993300\">storm.obs[t].lat<\/span><br \/>\n<span style=\"font-family: terminal, monaco, monospace\"><span style=\"color: #993300\">storm.obs_at_vmax()<\/span><br \/>\n<span style=\"color: #993300\">storm.obs_at_min_mslp().date<\/span><br \/>\n<\/span><\/p><\/blockquote>\n<p>Any suggestions to improve the functionality of <span style=\"font-family: terminal, monaco, monospace\">storm_assess<\/span> may be sent to <a href=\"mailto:alexander.baker@reading.ac.uk\">Alex Baker<\/a> or <a href=\"mailto:l.saffin@reading.ac.uk\">Leo Saffin<\/a>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction storm_assess is a Python module to read ascii-format output from the TRACK and TempestExtremes cyclone-tracking algorithms, originally developed by Joanne Camp (Met Office &amp; Bureau of Meteorology), and is&#8230;<a class=\"read-more\" href=\"&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#114;&#101;&#115;&#101;&#97;&#114;&#99;&#104;&#46;&#114;&#101;&#97;&#100;&#105;&#110;&#103;&#46;&#97;&#99;&#46;&#117;&#107;&#47;&#104;&#117;&#114;&#97;&#99;&#97;&#110;&#47;&#115;&#99;&#105;&#101;&#110;&#99;&#101;&#47;&#116;&#111;&#111;&#108;&#115;&#45;&#97;&#110;&#97;&#108;&#121;&#115;&#105;&#115;&#47;&#115;&#116;&#111;&#114;&#109;&#95;&#97;&#115;&#115;&#101;&#115;&#115;&#47;\">Read More ><\/a><\/p>\n","protected":false},"author":518,"featured_media":0,"parent":599,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"__cvm_playback_settings":[],"__cvm_video_id":"","footnotes":""},"coauthors":[11],"class_list":["post-604","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.8.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>storm_assess - Hurac\u00e1n<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"storm_assess - Hurac\u00e1n\" \/>\n<meta property=\"og:description\" content=\"Introduction storm_assess is a Python module to read ascii-format output from the TRACK and TempestExtremes cyclone-tracking algorithms, originally developed by Joanne Camp (Met Office &amp; Bureau of Meteorology), and is...Read More &gt;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/\" \/>\n<meta property=\"og:site_name\" content=\"Hurac\u00e1n\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-06T12:22:41+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n\t<meta name=\"twitter:label2\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data2\" content=\"Alex Baker\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/\",\"url\":\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/\",\"name\":\"storm_assess - Hurac\u00e1n\",\"isPartOf\":{\"@id\":\"https:\/\/research.reading.ac.uk\/huracan\/#website\"},\"datePublished\":\"2023-06-21T16:41:27+00:00\",\"dateModified\":\"2023-12-06T12:22:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/research.reading.ac.uk\/huracan\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Science\",\"item\":\"https:\/\/research.reading.ac.uk\/huracan\/science\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Tools &amp; analysis\",\"item\":\"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"storm_assess\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/research.reading.ac.uk\/huracan\/#website\",\"url\":\"https:\/\/research.reading.ac.uk\/huracan\/\",\"name\":\"Hurac\u00e1n\",\"description\":\"Hurricane Risk Amplification and Changing North Atlantic Natural Disasters\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/research.reading.ac.uk\/huracan\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"storm_assess - Hurac\u00e1n","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/","og_locale":"en_GB","og_type":"article","og_title":"storm_assess - Hurac\u00e1n","og_description":"Introduction storm_assess is a Python module to read ascii-format output from the TRACK and TempestExtremes cyclone-tracking algorithms, originally developed by Joanne Camp (Met Office &amp; Bureau of Meteorology), and is...Read More >","og_url":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/","og_site_name":"Hurac\u00e1n","article_modified_time":"2023-12-06T12:22:41+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"1 minute","Written by":"Alex Baker"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/","url":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/","name":"storm_assess - Hurac\u00e1n","isPartOf":{"@id":"https:\/\/research.reading.ac.uk\/huracan\/#website"},"datePublished":"2023-06-21T16:41:27+00:00","dateModified":"2023-12-06T12:22:41+00:00","breadcrumb":{"@id":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/storm_assess\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/research.reading.ac.uk\/huracan\/"},{"@type":"ListItem","position":2,"name":"Science","item":"https:\/\/research.reading.ac.uk\/huracan\/science\/"},{"@type":"ListItem","position":3,"name":"Tools &amp; analysis","item":"https:\/\/research.reading.ac.uk\/huracan\/science\/tools-analysis\/"},{"@type":"ListItem","position":4,"name":"storm_assess"}]},{"@type":"WebSite","@id":"https:\/\/research.reading.ac.uk\/huracan\/#website","url":"https:\/\/research.reading.ac.uk\/huracan\/","name":"Hurac\u00e1n","description":"Hurricane Risk Amplification and Changing North Atlantic Natural Disasters","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/research.reading.ac.uk\/huracan\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"}]}},"_links":{"self":[{"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/pages\/604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/users\/518"}],"replies":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/comments?post=604"}],"version-history":[{"count":10,"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/pages\/604\/revisions"}],"predecessor-version":[{"id":714,"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/pages\/604\/revisions\/714"}],"up":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/pages\/599"}],"wp:attachment":[{"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/media?parent=604"}],"wp:term":[{"taxonomy":"author","embeddable":true,"href":"https:\/\/research.reading.ac.uk\/huracan\/wp-json\/wp\/v2\/coauthors?post=604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}