Skip to content

Commit

Permalink
documentation tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
hklion committed Dec 17, 2024
1 parent cfb041a commit e3c4c66
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 3 deletions.
18 changes: 18 additions & 0 deletions Docs/sphinx_doc/AMReX.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

.. role:: cpp(code)
:language: c++

.. _subsec:AMReX:

AMReX
==============

REMORAis built on AMReX, a C++--based software framework that supports the development of structured mesh algorithms for solving systems of partial differential equations, with options for adaptive mesh refinement, on machines from laptops to exascale architectures. AMReX was developed in the U.S. Department of Energy’s Exascale Computing Project and is now a member project of the High Performance Software Foundation under the umbrella of the Linux Foundation.

AMReX uses an MPI+X model of hierarchical parallelism where blocks of data are distributed across MPI ranks (typically across multiple nodes). Fine-grained parallelism at the node level (X) is achieved using
OpenMP for CPU-only machines, or CUDA, HIP or SYCL for NVIDIA, AMD or Intel GPUs, respectively. AMReX provides extensive support for kernel launching on GPU accelerators (using ParallelFor looping constructs and C++ lambda functions) and the effective use of various memory types, including managed, device, and pinned. Architecture-specific aspects of the software for GPUs are highly localized within the code, and essentially hidden from the application developer or user.

In addition to portability across architectures, AMReX provides data structures and iterators that define, allocate and efficiently operate on distributed multi-dimensional arrays.
Data is defined on disjoint logically rectangular regions of the domain known as patches (or grids or boxes). Common operations, such as parallel communication and reduction operations, as well as interpolation and averaging operators between levels of refinement, are provided by the AMReX framework.

Finally, REMORA currently leverages, or plans to leverage, AMReX capabilities for effective load balancing, adaptive mesh refinement, memory management, asynchronous I/O, Lagrangian particles with particle-mesh interactions, and linear solvers.
11 changes: 11 additions & 0 deletions Docs/sphinx_doc/Doxygen.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

.. role:: cpp(code)
:language: c++

.. _doxygen_link:

Doxygen Documentation
=====================

For details about the REMORA code structure and APIs,
see the `Doxygen documentation <https://seahorce-scidac.github.io/docs/index.html>`_
3 changes: 3 additions & 0 deletions Docs/sphinx_doc/MeshRefinement.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
Mesh Refinement
===============

.. warning::
Mesh refinement in REMORA is currently in beta and an active area of development. Static and dynamic mesh refinement has been verified for scalar advection with flat bathymetry. Other problems are in progress.

REMORA allows both static and dynamic mesh refinement, as well as the choice of one-way or two-way coupling.

Note that any tagged region will be covered by one or more boxes. The user may
Expand Down
29 changes: 26 additions & 3 deletions Docs/sphinx_doc/Plotfiles.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,18 @@ List of Parameters
| | plot files | | |
+--------------------------------+------------------+-----------------------+------------+
| **remora.plot_vars** | name of | list of names | None |
| | variables to | | |
| | variables to | (see table below) | |
| | include in | | |
| | plotfiles | | |
| | plotfiles. Not | | |
| | used for netCDF | | |
+--------------------------------+------------------+-----------------------+------------+

.. _notes-5:

Notes
-----

- The NeTCDF option is only available if REMORA has been built with USE_NETCDF enabled.
- The NeTCDF option is only available if REMORA has been built with USE_PNETCDF enabled.

- The write_history_file option is only available if **plotfile_type = netcdf**

Expand All @@ -66,6 +67,28 @@ Notes

- File prefixes can include directories.

Plotfile Field Options
----------------------

+--------------------------------+---------------------------+
| Field | Definition |
| | |
+================================+===========================+
| **salt** | salinity |
+--------------------------------+---------------------------+
| **temp** | temperature |
+--------------------------------+---------------------------+
| **scalar** | passive scalar |
+--------------------------------+---------------------------+
| **x_velocity** | velocity in x-direction |
+--------------------------------+---------------------------+
| **y_velocity** | velocity in y-direction |
+--------------------------------+---------------------------+
| **z_velocity** | velocity in z-direction |
+--------------------------------+---------------------------+
| **vorticity** | vorticity |
+--------------------------------+---------------------------+

.. _examples-of-usage-8:

Examples of Usage
Expand Down
3 changes: 3 additions & 0 deletions Docs/sphinx_doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ In addition to this documentation, there is API documentation for REMORA generat
:hidden:
coc
Doxygen.rst
.. toctree::
:caption: USER GUIDE
Expand All @@ -41,6 +42,7 @@ In addition to this documentation, there is API documentation for REMORA generat
GettingStarted.rst
Inputs.rst
ProblemSetup.rst
testing.rst
.. toctree::
:caption: THEORY
Expand All @@ -56,6 +58,7 @@ In addition to this documentation, there is API documentation for REMORA generat
:maxdepth: 1
:hidden:
AMReX.rst
ArakawaCGrid.rst
BoundaryConditions.rst
Checkpoint.rst
Expand Down

0 comments on commit e3c4c66

Please sign in to comment.