{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,4]],"date-time":"2025-12-04T10:02:05Z","timestamp":1764842525707,"version":"3.38.0"},"reference-count":22,"publisher":"SAGE Publications","issue":"2","license":[{"start":{"date-parts":[[2021,10,10]],"date-time":"2021-10-10T00:00:00Z","timestamp":1633824000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"funder":[{"name":"Exascale Computing Project","award":["17-SC-20-SC"],"award-info":[{"award-number":["17-SC-20-SC"]}]}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2022,3]]},"abstract":"<jats:p> In this work, we demonstrate the process for porting the cloud resolving model (CRM) used in the Energy Exascale Earth System Model Multi-Scale Modeling Framework (E3SM-MMF) from its original Fortran code base to C++ code using a portability library. This porting process is performed using the Yet Another Kernel Library (YAKL), a simplified C++ portability library that specializes in Fortran porting. In particular, we detail our step-by-step approach for porting the System for Atmospheric Modeling (SAM), the CRM used in E3SM-MMF, using a hybrid Fortran\/C++ framework that allows for systematic reproduction and correctness testing of gradually ported YAKL C++ code. Additionally, analysis is done on the performance of the ported code using OLCF\u2019s Summit supercomputer. <\/jats:p>","DOI":"10.1177\/10943420211044495","type":"journal-article","created":{"date-parts":[[2021,10,11]],"date-time":"2021-10-11T01:13:17Z","timestamp":1633914797000},"page":"214-230","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":3,"title":["SAM++: Porting the E3SM-MMF cloud resolving model using a C++ portability library"],"prefix":"10.1177","volume":"36","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1682-4309","authenticated-orcid":false,"given":"Isaac","family":"Lyngaas","sequence":"first","affiliation":[{"name":"Oak Ridge National Laboratory, Tennessee, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4764-3348","authenticated-orcid":false,"given":"Matthew","family":"Norman","sequence":"additional","affiliation":[{"name":"Oak Ridge National Laboratory, Tennessee, USA"}]},{"given":"Youngsung","family":"Kim","sequence":"additional","affiliation":[{"name":"Oak Ridge National Laboratory, Tennessee, USA"}]}],"member":"179","published-online":{"date-parts":[[2021,10,10]]},"reference":[{"key":"bibr1-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1109\/P3HPC49587.2019.00012"},{"key":"bibr2-10943420211044495","doi-asserted-by":"publisher","DOI":"10.5194\/gmd-12-1423-2019"},{"key":"bibr3-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2014.07.003"},{"key":"bibr4-10943420211044495","volume-title":"Using OpenMP: Portable Shared Memory Parallel Programming","volume":"10","author":"Chapman B","year":"2008"},{"key":"bibr5-10943420211044495","unstructured":"E3SM Project (2018) Energy Exascale Earth System Model (E3SM). Available at: https:\/\/dx.doi.org\/10.11578\/E3SM\/dc.20180418.36."},{"key":"bibr6-10943420211044495","unstructured":"ECMWF (2021) European centre for medium-range weather forecasts integrated forecasting system. Available at: https:\/\/www.ecmwf.int\/en\/publications\/ifs-documentation."},{"key":"bibr7-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1175\/1520-0469(2001)058<0978:CCPWTL>2.0.CO;2"},{"key":"bibr8-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-2789(99)00104-9"},{"key":"bibr9-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807627"},{"key":"bibr10-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1029\/2019MS001863"},{"key":"bibr11-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1029\/2001GL013552"},{"key":"bibr12-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1175\/1520-0469(2003)060<0607:CRMOTA>2.0.CO;2"},{"key":"bibr13-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1175\/JAS3453.1"},{"key":"bibr14-10943420211044495","doi-asserted-by":"publisher","DOI":"10.5194\/gmd-9-3393-2016"},{"key":"bibr15-10943420211044495","unstructured":"Medina DS, St-Cyr A, Warburton T (2014) Occa: a unified approach to multi-threading languages. ArXiv preprint arXiv:1403.0968."},{"key":"bibr16-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1016\/j.jocs.2015.04.022"},{"key":"bibr17-10943420211044495","first-page":"109434202110275","author":"Norman MR","year":"2019","journal-title":"The International Journal of High Performance Computing Applications"},{"key":"bibr18-10943420211044495","unstructured":"OpenACC (2021) Openacc programming and best practices guide. Available at: https:\/\/www.openacc.org\/sites\/default\/files\/inline-files\/OpenACC_Programming_Guide_0.pdf."},{"key":"bibr19-10943420211044495","doi-asserted-by":"publisher","DOI":"10.5194\/gmd-11-3447-2018"},{"key":"bibr20-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1175\/BAMS-84-11-1547"},{"key":"bibr21-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1137\/S1064827594275534"},{"key":"bibr22-10943420211044495","doi-asserted-by":"publisher","DOI":"10.1016\/0021-9991(83)90013-X"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/10943420211044495","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/10943420211044495","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/10943420211044495","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,1]],"date-time":"2025-03-01T16:24:43Z","timestamp":1740846283000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/10943420211044495"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,10,10]]},"references-count":22,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,3]]}},"alternative-id":["10.1177\/10943420211044495"],"URL":"https:\/\/doi.org\/10.1177\/10943420211044495","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"type":"print","value":"1094-3420"},{"type":"electronic","value":"1741-2846"}],"subject":[],"published":{"date-parts":[[2021,10,10]]}}}