somar

The Stratified Ocean Model with Adaptive Refinement

https://github.com/muon-cfd/somar

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

The Stratified Ocean Model with Adaptive Refinement

Basic Info
  • Host: GitHub
  • Owner: MUON-CFD
  • License: lgpl-2.1
  • Language: C++
  • Default Branch: master
  • Size: 6.69 MB
Statistics
  • Stars: 6
  • Watchers: 5
  • Forks: 6
  • Open Issues: 3
  • Releases: 3
Created over 11 years ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

Welcome to the SOMAR repository!

DOI

SOMAR stands for The Stratified Ocean Model with Adaptive Refinement. It is free software using the LGPL license and provided jointly by Thomas Jefferson University's College of Humanities and Sciences and Arizona State University's School of Engineering of Matter, Transport, and Energy.

Main Features

  • Nonhydrostatic made fast - Blending the leptic method with semicoarsened multigrid, SOMAR solves the Boussinesq Navier-Stokes equations without the hydrostatic approximation in order to properly model the internal waves and tides that are ubiquitous in the ocean.

  • Anisotropic adaptive mesh refinement (AMR) - A coarse underlying grid along with on-the-fly local refinement of transient features eliminates unnecessary computation in most of the domain. Refinement can occur in some or all directions by varying amounts. Also, refinement occurs in both space and time to provide a drastic speedup of computation and reduction of memory usage.

  • Separation of background density and its deviation - By splitting the density field into a vertical background stratification and a deviation, we relieve the Poisson solver of computing the associated hydrostatic component of the pressure. This treatment, already implemented in some regional models including MITgcm, also prevents diffusion of oceanic features that are maintained by unmodeled phenomena.

  • Large Eddy Simulation (LES) - At local turbulent hotspots, AMR helps resolve the bulk of the energy cascade and LES parameterizes the rest. This two-way feedback between models uses the subgrid closure scheme of Ducros, et. al.

  • Familiar methods - Unlike SOMAR v1.0, this newer version uses methods familiar to physical oceanographers such as Arakawa-C grids and Runge-Kutta time integration. We also avoid upwinding by using simple, centered finite differences for the advection terms.

  • Error control - Embedded RK schemes are supported. Users can limit the velocity error using a variety of methods (local, PI, or PID controllers). From the user's perspective, all that is needed is an error tolerance specified in a text-based input file and SOMAR will take care of the rest.

  • Python post-processing - Analyzing SOMAR's output can be accomplished in VisIt, ParaView, or with simple Python scripts. Python can also be used to create initial conditions, create custom force functions, and process data on-the-fly.

  • Highly parallelizable - SOMAR uses MPI and is build on the Chombo framework.

Future work

  • Immersed boundary method [in progress] - Work is currently underway to incorporate immersed boundaries into SOMAR. This will allow us to incorporate complex boundaries provided by digital elevation models. This effort is largely complete and will become available once its associated manuscript is published.
  • Free surface [proposed] - This would extend SOMAR's abilities to resolve fast-moving gravity waves at the upper boundary.

Documentation

Up-to-date documentation is available at https://somar.readthedocs.io.

Owner

  • Name: Multiscale Ocean Numerics (MuON)
  • Login: MUON-CFD
  • Kind: organization
  • Email: Edward.Santilli@jefferson.edu
  • Location: United States of America

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: '  The Stratified Ocean Model with Adaptive Refinement (SOMAR)'
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Edward
    family-names: Santilli
    email: Edward.Santilli@jefferson.edu
    affiliation: Jefferson University - East Falls Campus
    orcid: 'https://orcid.org/0000-0001-7925-7252'
  - given-names: Alberto
    family-names: Scotti
    email: adscotti@asu.edu
    affiliation: Arizona State University
    orcid: 'https://orcid.org/0000-0001-8283-3070'
identifiers:
  - type: doi
    value: 10.5281/zenodo.14609305
    description: Software version used SOMARv2 paper (upcoming).
repository-code: 'https://github.com/MUON-CFD/SOMAR'
url: 'https://somar.readthedocs.io/'
abstract: >-
  Numerical studies of submesoscale ocean dynamics are
  restricted by several challenges, including its vast range
  of scales, nonhydrostatic features, and strong anisotropy.
  The Stratified Ocean Model with Adaptive Refinement
  (SOMAR) was developed to address many of these issues.
  Recent improvements to SOMAR incorporate Runge-Kutta time
  integration, Arakawa-C grids, new grid transfer methods,
  and error controllers in an effort to increase the model's
  fidelity and stability. In this paper, we detail these
  recent improvements, establish SOMARv2's accuracy, and
  demonstrate its utility as an efficient submesoscale
  model.
keywords:
  - Computational fluid dynamics
  - Multiscale modeling
  - Adaptive mesh refinement
  - Physical oceanography
  - Internal waves
  - Navier Stokes Equations
  - Incompressible flow
license: LGPL-2.1-or-later
commit: a1dadce3e664650fd7e10328c5eebb6209992ae3
version: v2.0.0
date-released: '2025-01-02'

GitHub Events

Total
  • Release event: 2
  • Watch event: 2
  • Delete event: 1
  • Push event: 37
  • Create event: 3
Last Year
  • Release event: 2
  • Watch event: 2
  • Delete event: 1
  • Push event: 37
  • Create event: 3