{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,3]],"date-time":"2025-03-03T05:49:25Z","timestamp":1740980965536,"version":"3.38.0"},"reference-count":51,"publisher":"SAGE Publications","issue":"3","license":[{"start":{"date-parts":[[2023,11,18]],"date-time":"2023-11-18T00:00:00Z","timestamp":1700265600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"funder":[{"name":"U.S. Department of Energy, Office of Science and Office of Biological and Environmental Research"},{"name":"U.S. Department of Energy, Office of Science and the National Nuclear Security Administration"}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2024,5]]},"abstract":"<jats:p> We demonstrate use of a modern Fortran solver interface to manage solver algorithms for an implicit barotropic mode solver in the Model for Predictions Across Scales-Ocean (MPAS-O). ForTrilinos, a Fortran interface to Trilinos that contains a large collection of solver capabilities written in C++, has been implemented in MPAS-O to provide access to a suite of linear solver options. By virtue of the simplified wrapper and interface generator (SWIG) automation tool that generates modern Fortran interfaces to C++ code, we were able to implement the Fortran solver interface in MPAS-O using a familiar Fortran coding style while minimizing performance degradation. The ForTrilinos solver interface is written within MPAS-O\u2019s time stepping modules as a subroutine in conjunction with MPAS-O code. Applied to an idealized ocean and a high-resolution realistic ocean test case, parallel performance of ForTrilinos solvers is examined. It is found that parallel scalability of the ForTrilinos solvers is highly dependent on the number of global synchronization points per solver iteration in each iterative solver algorithm. ForTrilinos solvers perform best compared to the Fortran hand-crafted (FHC) solver when the amount of work per processor is large enough. However, parallel scalability is better with the FHC solver and so when the work per core is modest FHC outperforms ForTrilinos. The intercomparison between the ForTrilinos and FHC solvers reveals that this performance hit in the ForTrilinos solver mostly comes from the global synchronization process, while suggesting that the matrix-vector multiplication process in the FHC solver needs to be optimized for better performance. <\/jats:p>","DOI":"10.1177\/10943420231205601","type":"journal-article","created":{"date-parts":[[2023,11,18]],"date-time":"2023-11-18T15:35:22Z","timestamp":1700321722000},"page":"175-191","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":0,"title":["An implicit barotropic mode solver for MPAS-ocean using a modern Fortran solver interface"],"prefix":"10.1177","volume":"38","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6073-918X","authenticated-orcid":false,"given":"Hyun-Gyu","family":"Kang","sequence":"first","affiliation":[{"name":"Oak Ridge National Laboratory, Oak Ridge, TN, USA"}]},{"given":"Raymond S","family":"Tuminaro","sequence":"additional","affiliation":[{"name":"Sandia National Laboratory, Livermore, CA, USA"}]},{"given":"Andrey","family":"Prokopenko","sequence":"additional","affiliation":[{"name":"Oak Ridge National Laboratory, Oak Ridge, TN, USA"}]},{"given":"Seth R","family":"Johnson","sequence":"additional","affiliation":[{"name":"Oak Ridge National Laboratory, Oak Ridge, TN, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4692-6813","authenticated-orcid":false,"given":"Andrew G","family":"Salinger","sequence":"additional","affiliation":[{"name":"Sandia National Laboratory, Albuquerque, NM, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8174-6450","authenticated-orcid":false,"given":"Katherine J","family":"Evans","sequence":"additional","affiliation":[{"name":"Oak Ridge National Laboratory, Oak Ridge, TN, USA"}]}],"member":"179","published-online":{"date-parts":[[2023,11,18]]},"reference":[{"key":"bibr1-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2019MS002024"},{"key":"bibr2-10943420231205601","doi-asserted-by":"publisher","DOI":"10.3233\/SPR-2012-0352"},{"key":"bibr3-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.1591"},{"key":"bibr4-10943420231205601","doi-asserted-by":"publisher","DOI":"10.2172\/1491860"},{"key":"bibr5-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1137\/18M1165943"},{"key":"bibr6-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1137\/18M1165414"},{"key":"bibr7-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1137\/S106482759732678X"},{"key":"bibr8-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1090\/conm\/218\/03046"},{"key":"bibr9-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2019MS001870"},{"key":"bibr10-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8191(95)00016-H"},{"key":"bibr11-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2017.04.005"},{"key":"bibr12-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1007\/s00382-013-1924-4"},{"key":"bibr13-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1108\/EC-02-2014-0029"},{"key":"bibr14-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/93JC03455"},{"key":"bibr15-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1023\/B:BITN.0000014563.33622.1d"},{"key":"bibr16-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-01973-9_37"},{"key":"bibr17-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1175\/2010MWR3288.1"},{"key":"bibr18-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1177\/1094342011435159"},{"key":"bibr19-10943420231205601","doi-asserted-by":"publisher","DOI":"10.5194\/gmd-9-1937-2016"},{"key":"bibr20-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/j.ocemod.2015.07.009"},{"key":"bibr21-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2021MS002909"},{"key":"bibr22-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1007\/s00382-015-2780-1"},{"key":"bibr23-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2018MS001603"},{"key":"bibr24-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2022MS003156"},{"key":"bibr25-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/j.ocemod.2014.04.005"},{"key":"bibr26-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2020MS002419"},{"key":"bibr27-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1137\/16M1062843"},{"key":"bibr28-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1137\/S1064827598341475"},{"key":"bibr29-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1145\/1089014.1089021"},{"key":"bibr30-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/j.ocemod.2011.10.003"},{"key":"bibr31-10943420231205601","doi-asserted-by":"publisher","DOI":"10.5194\/tc-2022-133"},{"key":"bibr32-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2019.2924204"},{"key":"bibr33-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2020MS002238"},{"key":"bibr34-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1175\/JPO-D-18-0237.1"},{"key":"bibr35-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.166"},{"key":"bibr36-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1175\/JCLI-D-20-1011.1"},{"key":"bibr37-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1155\/2012\/378791"},{"key":"bibr38-10943420231205601","doi-asserted-by":"publisher","DOI":"10.2478\/aoter-2013-0013"},{"key":"bibr39-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/j.ocemod.2014.12.004"},{"key":"bibr40-10943420231205601","doi-asserted-by":"publisher","DOI":"10.2172\/1434462"},{"key":"bibr41-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1029\/2018MS001373"},{"key":"bibr42-10943420231205601","doi-asserted-by":"publisher","DOI":"10.2172\/1259544"},{"key":"bibr43-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/j.ocemod.2013.04.010"},{"key":"bibr44-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/0377-0427(88)90345-7"},{"key":"bibr45-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1016\/j.ocemod.2004.08.002"},{"volume-title":"The Parallel Ocean Program (Pop) Reference Manual: Ocean Component of the Community Climate System Model (Ccsm)","year":"2010","author":"Smith R","key":"bibr46-10943420231205601"},{"volume-title":"The Trilinos and Albany Projects: An Object-Oriented Software Framework for the Solution of Large-Scale Complex Multi-Physics Engineering Problems","year":"2018","author":"Spotz W","key":"bibr47-10943420231205601"},{"key":"bibr48-10943420231205601","doi-asserted-by":"publisher","DOI":"10.5194\/gmd-12-2679-2019"},{"key":"bibr49-10943420231205601","doi-asserted-by":"publisher","DOI":"10.1137\/15M1040839"},{"key":"bibr50-10943420231205601","doi-asserted-by":"crossref","unstructured":"Yang L, Brent R (2002) The improved BiCGStab method for large and sparse unsymmetric linear systems on parallel distributed memory architectures. In Fifth International Conference on Algorithms and Architectures for Parallel Processing, 2002. Proceedings. Beijing, China, 2002, pp. 324\u2013328.","DOI":"10.1109\/ICAPP.2002.1173595"},{"key":"bibr51-10943420231205601","doi-asserted-by":"publisher","DOI":"10.2172\/1424434"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/10943420231205601","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/10943420231205601","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/10943420231205601","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,2]],"date-time":"2025-03-02T18:51:11Z","timestamp":1740941471000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/10943420231205601"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,11,18]]},"references-count":51,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2024,5]]}},"alternative-id":["10.1177\/10943420231205601"],"URL":"https:\/\/doi.org\/10.1177\/10943420231205601","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"type":"print","value":"1094-3420"},{"type":"electronic","value":"1741-2846"}],"subject":[],"published":{"date-parts":[[2023,11,18]]}}}