{"id":51,"date":"2015-11-18T09:05:33","date_gmt":"2015-11-18T12:05:33","guid":{"rendered":"http:\/\/wp.df.uba.ar\/mininni\/?page_id=51"},"modified":"2020-02-23T21:22:58","modified_gmt":"2020-02-24T00:22:58","slug":"ghost","status":"publish","type":"page","link":"http:\/\/wp.df.uba.ar\/mininni\/ghost\/","title":{"rendered":"GHOST"},"content":{"rendered":"<p>GHOST (the <em><span class=\"st\">Geophysical High-Order Suite for Turbulence<\/span><\/em>) is\u00a0an accurate and highly\u00a0scalable pseudospectral code that solves a variety\u00a0of PDEs often\u00a0encountered\u00a0in studies of turbulent flows. It is developed in collaboration with Duane Rosenberg and with contributions from many users. The code uses a hybrid parallelization method combining MPI and OpenMP (GHOST also has support for GPUs using CUDA). This allows the code to run efficiently in laptops and small clusters, as well as to scale up to 100,000 CPU cores in production runs in supercomputers. It can also combine CPU and GPU computations when needed. This hybrid parallelization method was recognized by two awards: an NCAR\/CISL award to Pablo Mininni and Duane Rosenberg, and the best paper award (technology track) at the TeraGrid 2010 conference.<\/p>\n<p>GHOST can solve PDEs in periodic domains in two and three dimensions, to tackle many problems including:<\/p>\n<ul>\n<li>Compressible and incompressible hydrodynamic equations.<\/li>\n<li>Compressible and incompressible magnetohydrodynamic (MHD) equations.<\/li>\n<li>Hall-MHD equations and other kinetic plasma effects.<\/li>\n<li>Rotating flows.<\/li>\n<li>Rotating and stratified flows using the Boussinesq approximation.<\/li>\n<li>Passive scalars.<\/li>\n<li>Superfluids and Bose-Einstein condensates using the Gross-Pitaevskii Equation (GPE).<\/li>\n<li>Ginzburg-Landau equations.<\/li>\n<li>Integration of many types of particles.<\/li>\n<li>Several subgrid scale (SGS) models.<\/li>\n<\/ul>\n<p>GHOST can integrate trajectories of Lagrangian particles, test particles (charged particles in a conducting fluid or a plasma), and inertial particles. It also includes two types of SGS models: one group of\u00a0 models derived from regularizations of the primitive equations of motion (Lagrangian Averaged, Clark, and Leray models), and another group of models based on computation of eddy viscosity and eddy noise using the Eddy-Damped Quasi-Normal Markovian approximation.<\/p>\n<figure id=\"attachment_53\" aria-describedby=\"caption-attachment-53\" style=\"width: 660px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/wp.df.uba.ar\/mininni\/wp-content\/uploads\/sites\/7\/2015\/11\/scaling.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-53\" src=\"http:\/\/wp.df.uba.ar\/mininni\/wp-content\/uploads\/sites\/7\/2015\/11\/scaling-1024x398.jpg\" alt=\"GHOST scalability using up to 100,000 cores at different spatial resolutions (indicated by the different marks). Time is shown on the left, 1\/Time on the right. On both cases, the dashed and solid lines indicate the ideal scaling.\" width=\"660\" height=\"257\" srcset=\"http:\/\/wp.df.uba.ar\/mininni\/wp-content\/uploads\/sites\/7\/2015\/11\/scaling-1024x398.jpg 1024w, http:\/\/wp.df.uba.ar\/mininni\/wp-content\/uploads\/sites\/7\/2015\/11\/scaling-300x116.jpg 300w, http:\/\/wp.df.uba.ar\/mininni\/wp-content\/uploads\/sites\/7\/2015\/11\/scaling-900x349.jpg 900w, http:\/\/wp.df.uba.ar\/mininni\/wp-content\/uploads\/sites\/7\/2015\/11\/scaling.jpg 1061w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/a><figcaption id=\"caption-attachment-53\" class=\"wp-caption-text\">GHOST scalability using up to 100,000 cores at different spatial resolutions (indicated by the different marks). Time is shown on the left, 1\/Time is shown on the right. On both cases, the dashed and solid lines indicate the ideal scaling.<\/figcaption><\/figure>\n<p>GHOST is mostly written in Fortran 90\/95, with some C bindings, code in Fortran 2003 for the particles, and code in CUDA for GPUs. To build the main code, without particles and without GPU support, only a C and a Fortran 95 compiler are required. References for GHOST can be found here:<\/p>\n<ul>\n<li><a class=\"gsc_a_at\" href=\"https:\/\/scholar.google.com.ar\/citations?view_op=view_citation&amp;hl=en&amp;user=nPmZQfkAAAAJ&amp;citation_for_view=nPmZQfkAAAAJ:u9iWguZQMMsC\" target=\"_blank\" rel=\"noopener noreferrer\">A hybrid MPI\u2013OpenMP scheme for scalable parallel pseudospectral computations for fluid turbulence<\/a><\/li>\n<li><a class=\"gsc_a_at\" href=\"https:\/\/scholar.google.com.ar\/citations?view_op=view_citation&amp;hl=en&amp;user=nPmZQfkAAAAJ&amp;citation_for_view=nPmZQfkAAAAJ:ldfaerwXgEUC\">Parallel simulations in turbulent MHD<\/a><\/li>\n<li><a class=\"gsc_a_at\" href=\"https:\/\/scholar.google.com.ar\/citations?view_op=view_citation&amp;hl=en&amp;user=nPmZQfkAAAAJ&amp;cstart=20&amp;pagesize=80&amp;citation_for_view=nPmZQfkAAAAJ:a0OBvERweLwC\">MHD simulations and astrophysical applications<\/a><\/li>\n<li><a href=\"http:\/\/www.nar.ucar.edu\/2010\/lar\/cisl\/2202-geophysical-high-order-suite-turbulence.html\">2010<\/a>, <a href=\"http:\/\/www.nar.ucar.edu\/2011\/lar\/cisl\/highly-scalable-codes-turbulent-flows.html\">2011<\/a>, and <a href=\"http:\/\/www.nar.ucar.edu\/2012\/lar\/cisl\/highly-scalable-codes-turbulent-flows.html\">2012<\/a> NCAR Annual Reports.<\/li>\n<\/ul>\n<p>GHOST also includes examples of scripts in Python, Matlab, IDL, and Mathematica, to do post-analysis of the numerical simulations. Moreover, it can be used together with <a href=\"https:\/\/www.vapor.ucar.edu\/\">VAPOR<\/a> (the <em>Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers<\/em>) to do still frame renderings and animations.\u00a0 VAPOR provides an interactive environment for 3D visualization of GHOST outputs, allowing powerful analysis of turbulent flows in systems with 3D graphics cards.<\/p>\n<p>GHOST is freely available from <a href=\"https:\/\/github.com\/pmininni\/GHOST\">GitHub<\/a>.<\/p>\n<p>If you are interested in turbulence in non-periodic domains, please check other codes developed by our research group: <a href=\"https:\/\/github.com\/pmininni\/SPHERE\/\">SPHERE<\/a>, to solve neutral and conducting fluids inside spherical vessels, and <a href=\"https:\/\/github.com\/mfontanaar\/SPECTER\">SPECTER<\/a>, to solve channel flow and Rayleigh-B\u00e9nard convection among other problems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GHOST (the Geophysical High-Order Suite for Turbulence) is\u00a0an accurate and highly\u00a0scalable pseudospectral code that solves a variety\u00a0of PDEs often\u00a0encountered\u00a0in studies of turbulent flows. It is developed in collaboration with Duane Rosenberg and with contributions from many users. The code uses a hybrid parallelization method combining MPI and OpenMP (GHOST also has support for GPUs using &hellip; <a href=\"http:\/\/wp.df.uba.ar\/mininni\/ghost\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">GHOST<\/span><\/a><\/p>\n","protected":false},"author":18,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-51","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/pages\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":1,"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/pages\/51\/revisions"}],"predecessor-version":[{"id":130,"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/pages\/51\/revisions\/130"}],"wp:attachment":[{"href":"http:\/\/wp.df.uba.ar\/mininni\/wp-json\/wp\/v2\/media?parent=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}