{"id":1986,"date":"2010-11-07T17:23:48","date_gmt":"2010-11-07T22:23:48","guid":{"rendered":"http:\/\/www.easterbrook.ca\/steve\/?p=1986"},"modified":"2010-11-16T10:11:00","modified_gmt":"2010-11-16T15:11:00","slug":"climate-model-coding-standards","status":"publish","type":"post","link":"http:\/\/www.easterbrook.ca\/steve\/2010\/11\/climate-model-coding-standards\/","title":{"rendered":"Climate Model Coding Standards"},"content":{"rendered":"<p>Here are some climate model coding standards that I&#8217;ve collected over the last few months:<\/p>\n<ul>\n<li>NASA GISS&#8217;s\u00a0<a href=\"https:\/\/modelingguru.nasa.gov\/servlet\/JiveServlet\/download\/1813-5-1985\/ModelE_Coding_Standards.pdf\">ModelE_Coding_Standards<\/a> (dated June 2010)<\/li>\n<li>NCAR&#8217;s CESM (previously known as CCSM)\u00a0<a href=\"http:\/\/www.cesm.ucar.edu\/working_groups\/Software\/dev_guide\/dev_guide\/node7.html\">Coding Conventions<\/a> (dated June 2001)<\/li>\n<li>IPSL Ocean Model\u00a0<a href=\"http:\/\/www.nemo-ocean.eu\/content\/download\/12406\/60742\/file\/NEMO_coding.conv.pdf\">NEMO coding conventions<\/a> (version 2, dated 2010)<\/li>\n<li>The European Program for Integrated Earth System Modelling\u00a0<a href=\"http:\/\/www.prism.enes.org\/Publications\/Reports\/Report23.pdf\">P<\/a><a href=\"http:\/\/www.prism.enes.org\/Publications\/Reports\/Report23.pdf\">rism Coding Rules<\/a> (dated 2002)<\/li>\n<li>The UK Met Office\u00a0Unified Model Software Standards\u00a0<em>(link removed &#8211; see update below)<\/em><\/li>\n<li>GFDL <a title=\"FMS coding conventions\" href=\"http:\/\/www.gfdl.noaa.gov\/~vb\/FMSManual\/node3.html\" target=\"_blank\">FMS coding conventions<\/a> (dated 2002)<\/li>\n<li><a title=\"FMS coding conventions\" href=\"http:\/\/www.gfdl.noaa.gov\/~vb\/FMSManual\/node3.html\" target=\"_blank\"><\/a>The Max-Planck-Institute&#8217;s\u00a0<a title=\"Programming Guide for ICON\" href=\"http:\/\/icon.enes.org\/coding\/icon_guide.pdf\" target=\"_blank\">Programming Guide for ICON<\/a> (dated March 2006)<\/li>\n<\/ul>\n<p>It&#8217;s encouraging that most modelling centres have developed detailed coding standards, but it&#8217;s a shame that most of them had to roll their own. The PRISM project is an exception &#8211; as many of the modelling labs across Europe were members of the PRISM project, some of these labs now use the PRISM coding rules.<\/p>\n<p>Two followup tasks I hope to get to soon &#8211; (1) analyze how much these different standards overlap\/differ, and (2) measure how much the model codes adhere to the standards.<\/p>\n<p><strong>16\/11\/2010 Update<\/strong>:\u00a0The UK Met Office standard was an old version that was never publically released, so I&#8217;ve removed the link, at the request of the UKMO. I&#8217;ll post a newer version if I can sort out the permissions. I&#8217;ve added MPI-M&#8217;s ICON standards to the list.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here are some climate model coding standards that I&#8217;ve collected over the last few months: NASA GISS&#8217;s\u00a0ModelE_Coding_Standards (dated June 2010) NCAR&#8217;s CESM (previously known as CCSM)\u00a0Coding Conventions (dated June 2001) IPSL Ocean Model\u00a0NEMO coding conventions (version 2, dated 2010) The European Program for Integrated Earth System Modelling\u00a0Prism Coding Rules (dated 2002) The UK Met Office\u00a0Unified [&hellip;]<\/p>\n","protected":false},"author":392,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"aioseo_notices":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/posts\/1986"}],"collection":[{"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/users\/392"}],"replies":[{"embeddable":true,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/comments?post=1986"}],"version-history":[{"count":3,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/posts\/1986\/revisions"}],"predecessor-version":[{"id":1995,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/posts\/1986\/revisions\/1995"}],"wp:attachment":[{"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/media?parent=1986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/categories?post=1986"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/tags?post=1986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}