{"id":196,"date":"2009-03-31T22:37:20","date_gmt":"2009-04-01T02:37:20","guid":{"rendered":"http:\/\/www.easterbrook.ca\/steve\/?p=196"},"modified":"2009-03-31T22:37:20","modified_gmt":"2009-04-01T02:37:20","slug":"modularizing-climate-models","status":"publish","type":"post","link":"http:\/\/www.easterbrook.ca\/steve\/2009\/03\/modularizing-climate-models\/","title":{"rendered":"Modularizing Climate Models"},"content":{"rendered":"<p>One of the things that came up in our weekly brainstorming session today was the question of whether climate models can be made more modular, to permit distributed development, and distributed execution. <a title=\"Carolyn's post on PhD topic ideas\" href=\"http:\/\/carolynresearch.wordpress.com\/2009\/03\/31\/possible-phd-thoughts\/\" target=\"_blank\">Carolyn has already blogged<\/a> about some of these ideas. Here&#8217;s a little bit of history for this topic.<\/p>\n<p>First, a very old (well, 1989) paper by <a title=\"Kalnay et al, BAMS vol 70 (6) June 1989\" href=\"http:\/\/ams.allenpress.com\/perlserv\/?request=get-abstract&amp;doi=10.1175%2F1520-0477(1989)070%3C0620:RFIOPP%3E2.0.CO%3B2\" target=\"_blank\">Kalnay et al, \u00a0on Data Interchange Formats<\/a>, in which they float the idea of &#8220;plug compatibility&#8221; for climate model components. For a long time, this idea seems to have been accepted as the long term goal for the architecture for climate models. But no-one appears to have come close. In 1996, <a title=\"Randall, BAMS vol 77 (11) Nov 1996\" href=\"http:\/\/ams.allenpress.com\/perlserv\/?request=get-abstract&amp;doi=10.1175%2F1520-0477(1996)077%3C2685%3AAUPOGC%3E2.0.CO%3B2\" target=\"_blank\">David Randall wrote an interesting introspective<\/a> on how university teams can (or can&#8217;t) participate in climate model building, in which he speculates that plug compatibility might not be\u00a0achievable\u00a0in practice because of the complexity of the physical processes being simulated, and the complex interactions between them. He also points out that all climate models (up to that point) had each been developed at a single site, and he talks a bit about why this appears to be necessarily so.<\/p>\n<p>Fast forward to a paper by <a title=\"Dickinson et al, BAMS vol 83 (3) March 2002\" href=\"http:\/\/ams.allenpress.com\/perlserv\/?request=get-abstract&amp;doi=10.1175%2F1520-0477(2002)083%3C0431:HCWAOW%3E2.3.CO%3B2\" target=\"_blank\">Dickinson et al in 2002<\/a>, which summarizes the results of a series of workshops on how to develop a better software infrastructure for model sharing, and talks about some prototype software frameworks. Then, a paper by <a title=\"Larson et al., IJHPCA, vol 20 (2) 2006\" href=\"http:\/\/hpc.sagepub.com\/cgi\/content\/abstract\/20\/2\/163\" target=\"_blank\">Larson et al in 2004<\/a>, introducing a common component architecture for earth system models, and a bit about the Earth System Modeling Framework being developed at NCAR.\u00a0And finally, <a title=\"Drake et al, IJHPCA, vol 19 (3) 2005\" href=\"http:\/\/hpc.sagepub.com\/cgi\/content\/abstract\/19\/3\/177\" target=\"_blank\">Drake et al.&#8217;s Overview of the Community Climate System Model<\/a>, which appears to use these frameworks very successfully.<\/p>\n<p>Now, admittedly I haven&#8217;t looked closely at the CCSM. But I have looked closely at the <a title=\"Pope's paper on Hadley Centre modeling capability\" href=\"http:\/\/www.ncbi.nlm.nih.gov\/pubmed\/17666385\" target=\"_blank\">Met Office&#8217;s Unified Model<\/a> and the <a title=\"CCCma paper\" href=\"http:\/\/hal-insu.archives-ouvertes.fr\/hal-00304124\/\" target=\"_blank\">Canadian CCCma<\/a>, and neither of them get anywhere close to the ideal of modularity. In both cases, the developers have to invest months of effort to &#8216;naturalize&#8217; code contributed from other labs, in the manner described in Randall&#8217;s paper.<\/p>\n<p>So, here&#8217;s the mystery. Has the CCSM really achieved the modularity that others are only dreaming of? And if so how? The key test would be how much effort it takes to &#8216;plug in&#8217; a module developed elsewhere&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the things that came up in our weekly brainstorming session today was the question of whether climate models can be made more modular, to permit distributed development, and distributed execution. Carolyn has already blogged about some of these ideas. Here&#8217;s a little bit of history for this topic. First, a very old (well, [&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,27,52],"tags":[35,59,26],"aioseo_notices":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/posts\/196"}],"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=196"}],"version-history":[{"count":1,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/posts\/196\/revisions"}],"predecessor-version":[{"id":197,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/posts\/196\/revisions\/197"}],"wp:attachment":[{"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.easterbrook.ca\/steve\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}