Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “MPAS-Ocean”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 19 records

Testing horizontal momentum boundary conditions in MPAS-Ocean

A rising concern within E3SM’s MPAS-Ocean is the implementation of boundary conditions. Currently, MPAS-Ocean utilizes a no-slip boundary condition, meaning that the velocity of fluid at the boundaries is zero; however, the model should should satisfy both no-slip and free-slip boundary conditions given the correct parameters. This study focuses on testing these boundary conditions in depth, determining the accuracy of the current implementation. To accomplish this, we focus on two test cases: the barotropic gyre and barotropic channel. By manipulating parameters and comparing the numerical to corresponding analytical solutions (when available), we show that MPAS-Ocean’s ability to satisfy both boundary conditions is promising.

54 ENVIRONMENTAL SCIENCES↗

Barotropic tides in MPAS-Ocean (E3SM V2): impact of ice shelf cavities

Abstract. Oceanic tides are seldom represented in Earth system models (ESMs) owing to the need for high horizontal resolution to accurately represent the associated barotropic waves close to coasts. This paper presents results of tides implemented in the Model for Prediction Across Scales–Ocean or MPAS-Ocean, which is the ocean component within the U.S. Department of Energy developed Energy Exascale Earth System Model (E3SM). MPAS-Ocean circumvents the limitation of low resolution using unstructured global meshing. We are at this stage simulating the largest semidiurnal (M2, S2, N2) and diurnal (K1, O1) tidal constituents in a single-layer version of MPAS-O. First, we show that the tidal constituents calculated using MPAS-Ocean closely agree with the results of the global tidal prediction model TPXO8 when suitably tuned topographic wave drag and bottom drag coefficients are employed. Thereafter, we present the sensitivity of global tidal evolution due to the presence of Antarctic ice shelf cavities. The effect of ice shelves on the amplitude and phase of tidal constituents are presented. Lower values of complex errors (with respect to TPXO8 results) for the M2 tidal constituents are observed when the ice shelf is added in the simulations, with particularly strong improvement in the Southern Ocean. Our work points towards future research with varying Antarctic ice shelf geometries and sea ice coupling that might lead to better comparison and prediction of tides and thus better prediction of sea-level rise and also the future climate variability.

58 GEOSCIENCES↗

Comparing the Performance of Julia on CPUs versus GPUs and Julia-MPI versus Fortran-MPI: a case study with MPAS-Ocean (Version 7.1)

Abstract. Some programming languages are easy to develop at the cost of slow execution, while others are fast at runtime but much more difficult to write. Julia is a programming language that aims to be the best of both worlds – a development and production language at the same time. To test Julia's utility in scientific high-performance computing (HPC), we built an unstructured-mesh shallow water model in Julia and compared it against an established Fortran-MPI ocean model, the Model for Prediction Across Scales–Ocean (MPAS-Ocean), as well as a Python shallow water code. Three versions of the Julia shallow water code were created: for single-core CPU, graphics processing unit (GPU), and Message Passing Interface (MPI) CPU clusters. Comparing identical simulations revealed that our first version of the Julia model was 13 times faster than Python using NumPy, where both used an unthreaded single-core CPU. Further Julia optimizations, including static typing and removing implicit memory allocations, provided an additional 10–20× speed-up of the single-core CPU Julia model. The GPU-accelerated Julia code was almost identical in terms of performance to the MPI parallelized code on 64 processes, an unexpected result for such different architectures. Parallelized Julia-MPI performance was identical to Fortran-MPI MPAS-Ocean for low processor counts and ranges from 2× faster to 2× slower for higher processor counts. Our experience is that Julia development is fast and convenient for prototyping but that Julia requires further investment and expertise to be competitive with compiled codes. We provide advice on Julia code optimization for HPC systems.

54 ENVIRONMENTAL SCIENCES↗

A nonhydrostatic formulation for MPAS-Ocean

The Model for Prediction Across Scales-Ocean (MPAS-Ocean) is an open-source, global ocean model and is one component of a family of climate models within the MPAS framework, including atmosphere, sea-ice, and land-ice models. Here, in this work, a new formulation for the ocean model is presented that solves the nonhydrostatic, incompressible Boussinesq equations on an unstructured, staggered, z-level grid. The introduction of this nonhydrostatic capability is necessary for the resolution of internal wave dynamics and large eddy simulations. Compared to the standard, hydrostatic formulation, a nonhydrostatic pressure solver and a vertical momentum equation are added, where the PETSc (Portable Extensible Toolkit for Scientific Computation) library is used for the inversion of a large sparse system for the nonhydrostatic pressure. Numerical results on a stratified seiche, internal solitary wave, overflow and lock-exchange test cases are presented, and the parallel efficiency of the code is evaluated using up to 1024 processors.

3D Poisson equation↗

A nonhydrostatic formulation for MPAS-Ocean

The Model for Prediction Across Scales-Ocean (MPAS-Ocean) is an open-source, global ocean model and is one component of a family of climate models within the MPAS framework, including atmosphere, sea-ice, and land-ice models. Here, in this work, a new formulation for the ocean model is presented that solves the nonhydrostatic, incompressible Boussinesq equations on an unstructured, staggered, z-level grid. The introduction of this nonhydrostatic capability is necessary for the resolution of internal wave dynamics and large eddy simulations. Compared to the standard, hydrostatic formulation, a nonhydrostatic pressure solver and a vertical momentum equation are added, where the PETSc (Portable Extensible Toolkit for Scientific Computation) library is used for the inversion of a large sparse system for the nonhydrostatic pressure. Numerical results on a stratified seiche, internal solitary wave, overflow and lock-exchange test cases are presented, and the parallel efficiency of the code is evaluated using up to 1024 processors.

3D Poisson equation↗

Storm Surge Modeling as an Application of Local Time-Stepping in MPAS-Ocean

This paper presents the first practical application of local time-stepping (LTS) schemes in the Model for Prediction Across Scales-Ocean (MPAS-O). We use LTS schemes in a single-layer, global ocean model that predicts the storm surge around the eastern coast of the United States during Hurricane Sandy. The variable-resolution meshes used are of unprecedentedly high resolution in MPAS-O, containing cells as small as 125 m wide in Delaware Bay. It is shown that a particular, third-order LTS scheme (LTS3) produces sea-surface height solutions that are of comparable quality to solutions produced by the classical four-stage, fourth-order Runge-Kutta method (RK4) with a uniform time step on the same meshes. Furthermore, LTS3 is up to 35% faster in the best cases considered, where the number of cells using the coarse time-step relative to those using the fine time-step is as low as 1:1. This shows that LTS schemes are viable for use in MPAS-O with the added benefit of substantially less computational cost. The results of these performance experiments inform us of the requirements for efficient mesh design and configuration of LTS regions for LTS schemes. In particular, we see that for LTS to be efficient on a given mesh, it is important to have enough cells using the coarse time-step relative to those using the fine time-step, typically at least 1:5 to see an increase in performance.

54 ENVIRONMENTAL SCIENCES↗

An implicit barotropic mode solver for MPAS-ocean using a modern Fortran solver interface

Here, 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’s 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.

97 MATHEMATICS AND COMPUTING↗

The ocean model for E3SM global applications: Omega version 0.1.0 – a new high-performance computing code for exascale architectures

This paper introduces Omega, the Ocean Model for E3SM Global Applications. Omega is a new ocean model designed to run efficiently on high performance computing (HPC) platforms, including exascale heterogeneous architectures with accelerators, such as Graphics Processing Units (GPUs). Omega is written in C and uses the Kokkos performance portability library. These were chosen because they are well-supported and will help future-proof Omega for upcoming HPC architectures. Omega will eventually replace the Model for Prediction Across Scales-Ocean (MPAS-Ocean) in the US Department of Energy's (DOE's) Energy Exascale Earth System Model (E3SM). Omega runs on unstructured horizontal meshes with variable-resolution capability and implements the same horizontal discretization as MPAS-Ocean. This work documents the design and performance of Omega Version 0.1.0 (Omega-V0), which solves the shallow water equations with passive tracers and is the first step towards the full primitive equation ocean model. On Central Processing Units (CPUs), Omega-V0 is 1.4 times faster than MPAS-Ocean with the same configuration. Omega-V0 is more efficient on GPUs than CPUs on a per-watt basis – by a factor of 5.3 on Frontier and 3.6 on Aurora, two of the world's fastest exascale computers.

54 ENVIRONMENTAL SCIENCES↗

Improved Time-Stepping Methods in Global to Regional Ocean Modeling (Annual Status Report)

Time stepping algorithms are an important part of ocean models, and strongly influence both the accuracy of solution and performance. There have been a number of projects investigating various improvements for ocean time-stepping schemes in the Model for Prediction Across Scales-Ocean (MPAS-Ocean), a component of the DOE Energy Exascale Earth System Model. Ocean dynamics include fast surface gravity waves, which are two-dimensional, and slower internal waves, which are three-dimensional, so ocean models use a split time-stepping scheme that separates these barotropic and baroclinic modes for efficiency. MPAS-Ocean runs on variable-resolution horizontal meshes, and must scale to tens of thousands of cores and millions of horizontal gridcells. Ocean models require time stepping algorithms that are customized to these needs, and which are tuned for performance on various resolutions and architectures.

58 GEOSCIENCES↗

High-order multirate explicit time-stepping schemes for the baroclinic-barotropic split dynamics in primitive equations

In order to treat the multiple time scales of ocean dynamics in an efficient manner, the baroclinic-barotropic splitting technique has been widely used for solving the primitive equations for ocean modeling. Based on the framework of strong stability-preserving Runge-Kutta approach, we propose two high-order multirate explicit time-stepping schemes (SSPRK2-SE and SSPRK3-SE) for the resulting split system in this paper. The proposed schemes allow for a large time step to be used for the three-dimensional baroclinic (slow) mode and a small time step for the two-dimensional barotropic (fast) mode, in which each of the two mode solves just need to satisfy their respective CFL conditions for numerical stability. Specifically, at each time step, the baroclinic velocity is first computed by advancing the baroclinic mode and fluid thickness of the system with the large time-step and the assistance of some intermediate approximations of the barotropicmode obtained by substepping with the small time step; then the barotropic velocity is corrected by using the small time step to re-advance the barotropic mode un-der an improved barotropic forcing produced by interpolation of the forcing terms from the preceding baroclinic mode solves; lastly, the fluid thickness is updated by coupling the baroclinic and barotropic velocities. Additionally, numerical inconsistencies on the discretized sea surface height caused by the mode splitting are relieved via a reconciliation process with carefully calculated flux deficits. Here, two benchmark tests from the “MPAS-Ocean” platform are carried out to numerically demonstrate the performance and parallel scalability of the proposed SSPRK-SE schemes.

54 ENVIRONMENTAL SCIENCES↗

Ocean Model for E3SM Global Applications (OMEGA)

This ocean model is the next generation version of the previous LANL developed MPAS-Ocean (Model for Prediction Across Scales) Ocean model. It is specifically designed to be used effectively on high performance computing, in particular GPU enabled architectures.

Van Roekel, Luke↗

Energy Exascale Earth System Model v2.0.1

First patch release of v2.0.0 Changes since v2.0.0 [Important change] Fix ocean threading bug seen in debug cases on Chrysalis with Intel 20.0.4. Was introduced around time of v2.0.0 tag. Does not change v2.0.0 answers on Chrysalis because those didn't use threading or debugging. [EAM] Add semi-lagrangian tracer transport for theta-l (F90 and C++), add new algorithm for finding tropopause, add DSCREAM to allow v2 and SCREAM settings in same code such as adjust_ps [EAM-MMF] 60L default, allow C++ back end of RRTMGP (EAM too). [EAMxx] add nu-top functionality, fix forcing functor, add ttype9 and dcmip2012 tests 2.1, 2.2, and 3 HOMME: remove obsolete remap algs, option to specify dynamics alg indep of tracer, new sponge layer, add imex tests [ELM] Add topography-based subgrid (topounits), add FATES-ELM Nitro., Phos. and CH4 coupling, add land-use ts for NARRM, add lulc for SSP3 RCP7, Fix nutrient fertilization exp test and carbon isotope flux, Fix xactive lnd dry deposition, add lake water storage option, fix plant hydraulics 2d params, fix carbon budget calc, fix soil nutrient conc. bug, fix mosart dam bug, add test for new ELM, MOSART features, fix bug in O3 dry dep stomatal resistances, fix plant hydraulics restart BFB error, update mkmapdata. [MOSART] fix bug for reading the latitude from an unstructured input file, fix oversat in bubble test. [MPAS-ocean] Add CFC11, CFC12 tracers, add 2D spherical transport tests, fix del4 tracer mixing, add MARBL ocean tracer mixing, modify harmonic analysis options, add GPU port of vmix routines, fix calc of ML-averaged BV freq. [MPAS-seaice] Change extents of initial polar disks for oRRS18to6v3 grid, fix ice BGC with MARBL, update spherical test cases, fix DON coupling, Remove Cf from sea ice constants. [MPAS-landice] add CRYO1850-4xCO2 compset [CIME] add GCP, ANL GCE, Spock, Perlmutter, deprecate config_compilers.xml, fix and clean-up cmake macros, fix slurm bindings, refactor CIME internal testing, cleanup SCORPIO perf data, allow position independent compset naming, [also] update v2 benchmarking suite, extend e3sm_prod with throughput and memory checks

E3SM Project, DOE↗

Energy Exascale Earth System Model v2.0.2

Second patch release of v2.0.0 Changes since v2.0.1 [Important change] Add and update SSP370 and SSP585 cases, add tests, fix use-case files, Change ocean and sea-ice IC for ARRM60to10. [EAM] allow thetaxx as a CAM_TARGET, enable northamericax4v1pg2_WC14to60E2r3 for AMIP, fix ndrop initialization, allow up to 15 history files. [EAMxx] allow use of readnl [EAM-MMF] allow transient SST case for C++ MMF, remove specific task/thread count for ESMT test, modify the variance transport diagnostic, reorg tests, [HOMME] Allow optional sponge layer. [ELM] add 2 land-atm compsets, update FATES to API 17.0.0, allow FATES sp mode, allow ELM harvest to drive FATES harvest, fix memleaks, reduce test build times, modified parameters for miscanthus and switchgrass based on calibration [MPAS-Ocean] turn on ocean BGC in BGC cases, fix interface locations for 60L PHC grid, add mode spec to conservation check streams, allow oRRS18to6v3 grid to run with JRA, update ocean and sea ice ICs for ARRM60to10 (needed for v2), GPU port of thickness tendency, add CMPASO-JRA1p4, [MPAS framework] Add new reproducible global sum module for MPAS components, Add mostRecentAccessTime attribute to streams [MPAS-landice] Update MALI version and Greenland mesh [MPAS-seaice] add single-cell test case, fix BGC restart, Adds omp critical directives for ice warnings seen on cori. [CIME] Fix component namelist creation bugs when NINST>1, add OpenACC, OpenMP and CXX GPU tests, fix nonBFB tests, stop using config_compilers, reduce ELM test build times with shared executable, update OpenMPI on Chrysalis. fix baseline handling, provenance handling with update to cime6.0.33, also use component-specific config_pes files and add the ones from master [Machine updates] cori modules after maint, Chrysalis to OpenMPI-4.1.3 [run_e3sm] replace default case name and group. [Externals] update SCORPIO to 1.3.2

ECP↗

Energy Exascale Earth System Model v2.1.0

First release of version 2.1 of the Energy Exascale Earth System Model. [ATM] The atmosphere component remains EAM. There are no major changes in the default configuration since 2.0. New features include: A semi-lagrangian tracer transport for theta-l dycore, a new algorithm for finding the tropopause, new RRM mesh configurations. Add and update SSP370 and SSP585 cases. Restore the FIDEAL case. [LAND] The land component is ELM. There are no major changes in the default configuration since 2.0. Several option features have been added including: implementation of topography-based subgrid structure (topounits) and accompanying parameterizations and atmospheric forcing downscaling methods; a new plant hydraulics scheme; two-way land-river hydrological coupling through the infiltration of floodplain water; an implementation of perennial crops; updates to the SNICAR-AD snow radiative transfer model; and implementation of soil erosion and sediment yield in ELM-Erosion. Each of these new changes is modular in design and can be turned on or off as the user specifies; they are currently being tested in different “BGC” configurations. [OCEAN] The ocean component remains MPAS-Ocean. Major change since version 2.0 include the addition of the Fox-Kemper et al. 2011 parameterization for submesocale eddies, a correction for barotropic thickness consistency that reduces divergence noise, and the addition of an ocean carbon conservation analysis member. [SEAICE] The sea-ice component remains MPAS-Seaice. Major changes since version 2.0 include: A correction to how shortwave parameters are interpolated in the snicar-ad 5-band radiation scheme, the addition of a sea ice carbon conservation analysis member, updates to the default sea ice biogeochemistry namelist parameters to be consistent with version 2.0 improvements to nitrogen cycling and a correction in the ice-ocean dissolved organic nitrogen coupling. [LAND ICE] The land-ice component remains MPAS-Albany-landIce (MALI). Major changes since 2.0 include an update to the MALI version and the Greenland mesh.[RIVER] The river model is MOSART. There are no major changes in the default configuration since 2.0. A major new optional feature is two-way river-ocean hydrological coupling between MOSART and MPAS-O. This change can be turned on or off as the user specifies, and is being tested in different configurations. [COUPLER] The coupler remains cpl7/MCT. Major changes since version 2.0 include: Carbon budget calculated when heat/water budgets active. Fix a bug in land-atm fluxes for tri-grid configurations. [OTHER] a small bug in the zenith angle calculation was fixed in the data models.

ECP↗

Performance Results on CPU/GPU Exascale Architectures for OMEGA: The Ocean Model for E3SM Global Applications

The US Department of Energy (DOE) conducts climate simulations on some of the world’s largest supercomputers. These exascale machines use heterogeneous architectures with both CPUs and GPUs, and scientific codes must adapt to make full use of this computing power. Los Alamos National Lab is developing Omega: The Ocean Model for E3SM Global Applications, which is specifically designed for modern exascale computers. It uses external libraries that have been optimized for a variety of architectures to run on different supercomputers. Omega is an unstructured-mesh ocean model based on TRiSK numerical methods. It will be the new ocean component of the DOE’s Energy Exascale Earth System Model (E3SM). The algorithms in Omega follow those of the current ocean component, MPAS-Ocean, but it will be written in C++ rather than Fortran to take advantage of the Kokkos performance portability library. Omega spatial operators are written as Kokkos kernels to run efficiently on both CPUs and GPUs. Work on Omega began in 2023 with a new C++ framework for unstructured mesh partitioning, halo exchanges, parallel IO, and Kokkos interfaces. The current version, Omega-0, is being developed to solve the shallow water equations and at present includes all of the tendency terms but not time stepping. Here we share the results of Omega-0 verification and performance testing. Verification includes unit tests implemented with CTest as well as convergence tests in Polaris, an in-house python package with a large suite of test problems. Performance tests compare simulations conducted on CPUs versus GPUs and across different architectures: tests are run on Frontier, which has AMD “Optimized 3rd Gen EPYC” CPUs and AMD MI250X GPUs, as well as Perlmutter, which is composed of AMD EPYC 7763 CPUs and NVIDIA A100 GPUs.

58 GEOSCIENCES↗

FEOTS v0.0.0: a new offline code for the fast equilibration of tracers in the ocean

Abstract. In this paper we introduce a new software framework for the offline calculation of tracer transport in the ocean. The Fast Equilibration of Ocean Tracers Software (FEOTS) is an end-to-end set of tools to efficiently calculate tracer distributions on a global or regional sub-domain using transport operators diagnosed from a comprehensive ocean model. To the best of our knowledge, this is the first application of a transport matrix model to an eddying ocean state. While a Newton–Krylov-based equilibration capability is still under development and not presented here, we demonstrate in this paper the transient modeling capabilities of FEOTS in an application focused on the Argentine Basin, where intense eddy activity and the Zapiola Anticyclone lead to strong mixing of water masses. The demonstration illustrates progress in developing offline passive tracer simulation capabilities, while highlighting the challenges of the impulse response functions approach in capturing tracer transports by a non-linear advection scheme. Our future work will focus on improving the computational efficiency of the code to reduce time-to-solution, using different basis functions to better represent non-linear advection operators, applying FEOTS to a parent model with unstructured grids (Ocean Model for Prediction Across Scales, MPAS-Ocean), and fully implementing a Newton–Krylov steady-state solver.

54 ENVIRONMENTAL SCIENCES↗