2.1 Requirement: Auxiliary state should register auxiliary variables with IOStreams

2.1 Requirement: Functions that compute auxiliary variables should have simple, intuitive calling arguments

2.2 Requirement: Auxiliary variables computations should be able to be grouped under different outer loops over mesh locations

2.13 Desired: Automated generation of default input and error checking

2.1 Requirement: calculate specific volume and density from prognostic temperature and salinity

2.4 Requirement: abide by license for the GSW Oceanographic Toolbox

5.2 Test: Verification of our TEOS-10 75-term polynomial implementation

2.1 Requirement: OMEGA will use the previously established MPAS Mesh Spec

2.2 Requirement: Functionality is needed to read the mesh on the host and transfer relevant data to the device for computation

2.5 Requirement: Mesh variables will be associated with metadata to describe data

2.7 Desired: Ability to support multiple independent mesh objects

2.8 Desired: OMEGA can read in a reduced number of mesh variables and compute the remaining array information online.

2.1  Omega-0 will solve the nonlinear shallow water equations, plus inactive tracers

2.4  Omega-0 will interface with polaris for preprocessing and postprocessing

2.5  Omega-0 will run portably on various DOE architectures (CPU and GPU nodes)

2.9  Performance will be at least as good or better than MPAS-Ocean

2.10  Full-node GPU throughput will be comparable or better than full-node CPU throughput

5.3 Manufactured Solution: full nonlinear shallow water, no tracers

5.6 Shallow water tests on spherical domains and with realistic coastlines

Omega will be an incompressible, hydrostatic, non-Boussinesq ocean model.

Omega-1.0 will add new terms for the pressure gradient, vertical mixing, and vertical advection.

2.1 Requirement: State should register prognostic variables with IOStreams

2.3 Requirement: Can be used as a common data type for tendency and provis variables

2.1 Requirement: Tendencies should be able to be grouped under different outer loops over mesh locations.

2.2 Requirement: Tendency operator calls should have simple, intuitive calling arguments.

2.3 Requirement: Tendencies must allow for vectorization on CPU architectures.

5.2 Test diffusion solvers convergence using manufactured solution

2.1 Requirement: Vertical mixing coefficient interface should be modular

2.2 Requirement: Vertical mixing models should be have local and/or gradient free terms

2.3 Requirement: Vertical mixing models cannot ingest single columns at a time

4.2.4 Broadcast from another rank within a different environment

4.2.6.1 Existence inquiry for metadata container and metadim container

f-strings support = for self-documenting expressions and debugging

email.message.Message: Representing an email message using the compat32 API

What is the most efficient way to concatenate many strings together?

Why does a_tuple[i] += [‘item’] raise an exception when the addition works?

What does the slash(/) in the parameter list of a function mean?

Why am I getting an UnboundLocalError when the variable has a value?

PEP 3118: New memoryview implementation and buffer protocol documentation

PEP 476: Enabling certificate verification by default for stdlib http clients

PEP 471 - os.scandir() function – a better and faster directory iterator

PEP 655: Marking individual TypedDict items as required or not-required

Why must ‘self’ be used explicitly in method definitions and calls?

argparse — Parser for command-line options, arguments and subcommands

functools — Higher-order functions and operations on callable objects

importlib.resources – Package resource reading, opening and access

multiprocessing.shared_memory — Shared memory for direct access across processes

sysconfig — Provide access to Python’s configuration information

sphinx.ext.apidoc – Generate API documentation from Python packages

Extension internationalization (i18n) and localization (l10n) using i18n API

sphinx.ext.imgconverter – A reference image converter using Imagemagick

sphinx.ext.autosectionlabel – Allow referencing sections by their title

sphinx.ext.napoleon – Support for NumPy and Google style docstrings

Creating artists specifically for adding to the legend (aka. Proxy artists)

boxplot and bxp vert parameter, and rcParams["boxplot.vertical"]

MEP15: Fix axis autoscaling when limits are specified for one axis only

polaris conda environment, spack environment, compilers and system modules

Gumbel (LogWeibull, Fisher-Tippetts, Type I Extreme Value) Distribution

Laplace (Double Exponential, Bilateral Exponential) Distribution

Chi-square test of independence of variables in a contingency table

Multivariate data interpolation on a regular grid  (RegularGridInterpolator)

How do xarray data structures differ from those found in pandas?