Skip to content

Commit 14f57f8

Browse files
committed
Updated the README.
1 parent 3598d9d commit 14f57f8

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,33 @@ Welcome to the SOMAR repository!
66
SOMAR stands for The Stratified Ocean Model with Adaptive Refinement. It is free software using the [LGPL license](https://www.gnu.org/licenses/lgpl-2.1.html 'The GNU Lesser General Public License, version 2.1 applies.') and provided jointly by [Thomas Jefferson University's College of Humanities and Sciences](https://www.jefferson.edu/academics/colleges-schools-institutes/humanities-sciences.html 'TJU\'s CHS website') and [Arizona State University's School of Engineering of Matter, Transport, and Energy](https://semte.engineering.asu.edu/ 'ASU Engineering website').
77

88

9-
Latest Features
10-
---------------
11-
- **Nonhydrostatic -** Our model 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.
9+
Main Features
10+
-------------
11+
- **Nonhydrostatic made fast -** Blending [the leptic method](https://doi.org/10.1016/j.jcp.2011.06.022) 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.
1212

1313

14-
- **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](http://mitgcm.org/ 'The MITgcm website'), also prevents diffusion of oceanic features that are maintained by unmodeled phenomena.
14+
- **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.
1515

1616

17-
- **Anisotropic grid refinement -** A coarse underlying grid along with dynamic local refinement over transient features eliminates unnecessary computation in large portions of the domain. Since the background stratification requires some level of vertical resolution, it is often the case that we only need further resolution in the horizontal. Our anisotropic refinement methods are capable of providing additional cells only in those directions that are under-resolved. Furthermore, our coarse grids operate on larger timesteps than the finer grids. This refinement in both time and space provides a drastic speedup of computation, minimizes the number of required Poisson solves, and ensures all levels are evolving at a Courant number close to one, reducing numerical dissipation.
17+
- **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](http://mitgcm.org/ 'The MITgcm website'), also prevents diffusion of oceanic features that are maintained by unmodeled phenomena.
1818

1919

20-
- **Fast multigrid Poisson solver -** In the absence of the hydrostatic approximation, we are faced with an exceedingly expensive Poisson problem for the pressure. To relieve the computational burden, SOMAR is equipped with a multigrid solver that can reduce the condition number of anisotropic problems using semi-coarsening. The most effective coarsening strategy is created automatically, without asking the user to tune parameters.
20+
- **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 [Ducrose, et. al.](https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/abs/largeeddy-simulation-of-transition-to-turbulence-in-a-boundary-layer-developing-spatially-over-a-flat-plate/C277DE968A1FD929D3CB05FDBC434AAD)
2121

2222

23-
- **Large Eddy Simulation -** AMR helps refine local hotspots, but we often do not wish to resolve the flow down to the dissipative scales. For this, we turn to the closure scheme described by [Ducrose, et. al.](https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/abs/largeeddy-simulation-of-transition-to-turbulence-in-a-boundary-layer-developing-spatially-over-a-flat-plate/C277DE968A1FD929D3CB05FDBC434AAD)
23+
- **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.
2424

25-
- **Familiar methods -** Unlike SOMAR v1.0, the newer versions use methods familiar to physical oceanographers such as Arakawa-C grids and Runge-Kutta time integration. We also use simple, centered finite differences for the advection terms rather than upwinding.
2625

2726
- **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.
2827

28+
2929
- **Python post-processing -** Analyzing SOMAR's output can be accomplished in [VisIt](https://visit-dav.github.io/visit-website/index.html 'The VisIt website'), [ParaView](https://www.paraview.org/ 'The ParaView website'), or with simple Python scripts. Python can also be used to create initial conditions, create custom force functions, and process data on-the-fly.
3030

31+
3132
- **Highly parallelizable -** SOMAR uses MPI and is build on the [Chombo framework.](https://commons.lbl.gov/display/chombo/Chombo+-+Software+for+Adaptive+Solutions+of+Partial+Differential+Equations)
3233

3334

34-
Work is currently underway to incorporate the immersed boundary method of Charles Peskin into SOMAR to incorporate complex boundaries.
35+
Work is currently underway to incorporate the immersed boundary method 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.
3536

3637

3738
<!-- Software prerequisites

0 commit comments

Comments
 (0)