From 0e230c1fe3d7595a08dc9baf04dc6ad131b23e80 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 18:07:51 +0000 Subject: [PATCH] Update documentation --- omega/develop/_sources/devGuide/TimeMgr.md.txt | 16 ++++++++++++---- omega/develop/devGuide/TimeMgr.html | 16 ++++++++++++---- omega/develop/searchindex.js | 2 +- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/omega/develop/_sources/devGuide/TimeMgr.md.txt b/omega/develop/_sources/devGuide/TimeMgr.md.txt index 8adfe5329358..fb857d9e2950 100644 --- a/omega/develop/_sources/devGuide/TimeMgr.md.txt +++ b/omega/develop/_sources/devGuide/TimeMgr.md.txt @@ -159,16 +159,24 @@ is set as the new ring time: ```c++ SingleAlarm.reset(NewAlarmTime); ``` -If the Alarm is periodic, the new ring time will be set to the next interval -boundary after the input time: +If the Alarm is periodic, the ringing will be switched off as above and the +new ring time will be set to the next interval boundary after the input time. +The interval boundary is an integer number of intervals after the start time +provided on Alarm creation. ```c++ PeriodicAlarm.reset(CurrentTime); ``` -This Alarm will ring next at `CurrentTime + AlarmInterval`. An Alarm can be -permanently stopped using the `stop` method: +An Alarm can be permanently stopped using the `stop` method: ```c++ SingleAlarm.stop(); ``` +It is sometimes useful to retrieve other aspects of a periodic Alarm, namely +the Alarm interval and the last time the Alarm was ringing. Two retrieval +functions are provided that return const pointers to these values: +```c++ +const TimeInterval *AlarmInterval = PeriodicAlarm.getInterval(); +const TimeInstant *PriorRingTime = PeriodicAlarm.getRingTimePrev(); +``` ### 6. Clock diff --git a/omega/develop/devGuide/TimeMgr.html b/omega/develop/devGuide/TimeMgr.html index 90e5ba9b913f..0463b16ccc5d 100644 --- a/omega/develop/devGuide/TimeMgr.html +++ b/omega/develop/devGuide/TimeMgr.html @@ -327,16 +327,24 @@

5. Alarm
SingleAlarm.reset(NewAlarmTime);
 
-

If the Alarm is periodic, the new ring time will be set to the next interval -boundary after the input time:

+

If the Alarm is periodic, the ringing will be switched off as above and the +new ring time will be set to the next interval boundary after the input time. +The interval boundary is an integer number of intervals after the start time +provided on Alarm creation.

PeriodicAlarm.reset(CurrentTime);
 
-

This Alarm will ring next at CurrentTime + AlarmInterval. An Alarm can be -permanently stopped using the stop method:

+

An Alarm can be permanently stopped using the stop method:

SingleAlarm.stop();
 
+

It is sometimes useful to retrieve other aspects of a periodic Alarm, namely +the Alarm interval and the last time the Alarm was ringing. Two retrieval +functions are provided that return const pointers to these values:

+
const TimeInterval *AlarmInterval = PeriodicAlarm.getInterval();
+const TimeInstant *PriorRingTime = PeriodicAlarm.getRingTimePrev();
+
+

6. Clock

diff --git a/omega/develop/searchindex.js b/omega/develop/searchindex.js index b4e63f20dded..5c4bc577bf45 100644 --- a/omega/develop/searchindex.js +++ b/omega/develop/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["design/AuxiliaryState", "design/AuxiliaryVariables", "design/Broadcast", "design/Config", "design/DataTypes", "design/Decomp", "design/Driver", "design/Error", "design/Halo", "design/HorzMeshClass", "design/IO", "design/IOStreams", "design/Logging", "design/MachEnv", "design/Metadata", "design/OmegaV0ShallowWater", "design/Reductions", "design/State", "design/Template", "design/Tendencies", "design/Tendency", "design/TimeMgr", "design/TimeStepping", "design/Timers", "design/Tracers", "devGuide/AuxiliaryState", "devGuide/AuxiliaryVariables", "devGuide/Broadcast", "devGuide/BuildDocs", "devGuide/CMakeBuild", "devGuide/CondaEnv", "devGuide/Config", "devGuide/DataTypes", "devGuide/Decomp", "devGuide/Dimension", "devGuide/Docs", "devGuide/Driver", "devGuide/Field", "devGuide/Halo", "devGuide/HorzMesh", "devGuide/HorzOperators", "devGuide/IO", "devGuide/IOStreams", "devGuide/Linting", "devGuide/Logging", "devGuide/MachEnv", "devGuide/OceanState", "devGuide/QuickStart", "devGuide/Reductions", "devGuide/Tendencies", "devGuide/TendencyTerms", "devGuide/TimeMgr", "devGuide/TimeStepping", "devGuide/Tracers", "index", "userGuide/AuxiliaryState", "userGuide/AuxiliaryVariables", "userGuide/Broadcast", "userGuide/Config", "userGuide/DataTypes", "userGuide/Decomp", "userGuide/Dimension", "userGuide/Driver", "userGuide/Field", "userGuide/Halo", "userGuide/HorzMesh", "userGuide/HorzOperators", "userGuide/IO", "userGuide/IOStreams", "userGuide/Logging", "userGuide/MachEnv", "userGuide/OceanState", "userGuide/OmegaBuild", "userGuide/QuickStart", "userGuide/Reductions", "userGuide/Tendencies", "userGuide/TendencyTerms", "userGuide/TimeMgr", "userGuide/TimeStepping", "userGuide/Tracers"], "filenames": ["design/AuxiliaryState.md", "design/AuxiliaryVariables.md", "design/Broadcast.md", "design/Config.md", "design/DataTypes.md", "design/Decomp.md", "design/Driver.md", "design/Error.md", "design/Halo.md", "design/HorzMeshClass.md", "design/IO.md", "design/IOStreams.md", "design/Logging.md", "design/MachEnv.md", "design/Metadata.md", "design/OmegaV0ShallowWater.md", "design/Reductions.md", "design/State.md", "design/Template.md", "design/Tendencies.md", "design/Tendency.md", "design/TimeMgr.md", "design/TimeStepping.md", "design/Timers.md", "design/Tracers.md", "devGuide/AuxiliaryState.md", "devGuide/AuxiliaryVariables.md", "devGuide/Broadcast.md", "devGuide/BuildDocs.md", "devGuide/CMakeBuild.md", "devGuide/CondaEnv.md", "devGuide/Config.md", "devGuide/DataTypes.md", "devGuide/Decomp.md", "devGuide/Dimension.md", "devGuide/Docs.md", "devGuide/Driver.md", "devGuide/Field.md", "devGuide/Halo.md", "devGuide/HorzMesh.md", "devGuide/HorzOperators.md", "devGuide/IO.md", "devGuide/IOStreams.md", "devGuide/Linting.md", "devGuide/Logging.md", "devGuide/MachEnv.md", "devGuide/OceanState.md", "devGuide/QuickStart.md", "devGuide/Reductions.md", "devGuide/Tendencies.md", "devGuide/TendencyTerms.md", "devGuide/TimeMgr.md", "devGuide/TimeStepping.md", "devGuide/Tracers.md", "index.md", "userGuide/AuxiliaryState.md", "userGuide/AuxiliaryVariables.md", "userGuide/Broadcast.md", "userGuide/Config.md", "userGuide/DataTypes.md", "userGuide/Decomp.md", "userGuide/Dimension.md", "userGuide/Driver.md", "userGuide/Field.md", "userGuide/Halo.md", "userGuide/HorzMesh.md", "userGuide/HorzOperators.md", "userGuide/IO.md", "userGuide/IOStreams.md", "userGuide/Logging.md", "userGuide/MachEnv.md", "userGuide/OceanState.md", "userGuide/OmegaBuild.md", "userGuide/QuickStart.md", "userGuide/Reductions.md", "userGuide/Tendencies.md", "userGuide/TendencyTerms.md", "userGuide/TimeMgr.md", "userGuide/TimeStepping.md", "userGuide/Tracers.md"], "titles": ["AuxiliaryState", "Auxiliary variables", "Broadcast", "Config", "DataTypes", "Decomp", "Driver and Component Layer", "ErrorHandler (Error)", "Halo", "Horizontal Mesh", "Input/Output (IO)", "IOStreams", "Logging", "MachineEnv", "Metadata", "Omega V0: Shallow Water", "Global Reductions", "State", "Template", "Tendencies", "Tendency", "TimeManager", "Time Stepping", "Timers", "Tracer Infrastructure", "Auxiliary State", "Auxiliary Variables", "Omega Broadcast", "Building the Documentation", "Omega Build with CMake", "Development Conda Environment", "Model Configuration (Config)", "Data Types and Precision", "Domain Decomposition (Decomp)", "Dimension", "Documentation", "Driver", "Fields and Metadata (Field)", "Halo Exchanges (Halo)", "Horizontal Mesh", "Horizontal Operators", "Parallel IO (IO)", "IO Streams (IOStream)", "Linting Code", "Developing Omega Logging", "Machine Environment (MachEnv)", "Ocean State", "Quick Start for Developers", "Global Reductions", "Tendencies", "Tendency Terms", "Time Manager (TimeMgr)", "Time stepping", "Tracers", "Omega", "Auxiliary State", "Auxiliary Variables", "Omega Broadcast", "Model Configuration (Config)", "Data Types and Precision", "Domain Decomposition (Decomp)", "Dimension", "Driver", "Fields and Metadata (Field)", "Halo Exchanges (Halo)", "Horizontal Mesh", "Horizontal Operators", "Parallel IO (IO)", "IO Streams (IOStream)", "Omega Logging", "Machine Environment (MachEnv)", "Ocean State", "CMake-based Omega Build", "Quick Start for Users", "Global Reductions", "Tendencies", "Tendency Terms", "Time Manager (TimeMgr)", "Time stepping", "Tracers"], "terms": {"The": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 26, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 23, 24, 25, 26, 27, 31, 32, 34, 35, 37, 40, 41, 42, 45, 47, 48, 49, 51, 52, 55, 58, 61, 63, 66, 67, 68, 69, 71, 72, 75, 76, 78], "contain": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 16, 17, 19, 20, 21, 23, 24, 26, 31, 33, 34, 35, 37, 38, 39, 40, 41, 44, 45, 46, 50, 51, 53, 55, 58, 60, 64, 65, 68, 71, 72, 75, 79], "subdomain": [0, 5, 17, 19, 33, 39, 60, 64], "within": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 23, 27, 29, 31, 32, 33, 35, 40, 41, 44, 46, 53, 58, 63, 68, 70, 72, 76, 78], "omega": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 73, 75, 77, 78, 79], "It": [0, 1, 2, 3, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 29, 31, 34, 36, 37, 38, 39, 44, 47, 49, 51, 52, 53, 58, 64, 65, 66, 67, 68, 69, 78], "field": [0, 1, 3, 5, 6, 8, 15, 17, 24, 34, 41, 42, 51, 53, 54, 58, 68, 79], "its": [0, 1, 8, 11, 12, 13, 20, 21, 23, 24, 25, 30, 31, 37, 40, 47, 49, 52, 66], "constructor": [0, 11, 14, 19, 21, 31, 38, 39, 45, 49, 50, 51, 54], "facilit": [0, 5, 7, 8, 12, 15, 17, 29], "output": [0, 3, 6, 9, 11, 14, 15, 17, 21, 24, 26, 32, 36, 37, 41, 42, 51, 54, 56, 58, 67, 68, 72], "At": [0, 3, 5, 10, 11, 23, 24, 27, 42, 47, 72], "minimum": [0, 3, 5, 8, 10, 11, 12, 14, 16, 23, 39, 60, 72], "all": [0, 3, 6, 9, 10, 12, 14, 15, 16, 18, 19, 21, 22, 25, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, 53, 57, 58, 59, 60, 63, 64, 65, 67, 68, 70, 72, 76, 79], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 76, 77, 78, 79], "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 47, 49, 50, 51, 52, 53, 56, 60, 63, 64, 65, 66, 67, 68, 69, 70, 72, 76, 79], "conveni": [0, 24, 47, 49, 52, 68], "function": [0, 2, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 31, 32, 34, 36, 37, 38, 40, 41, 42, 44, 45, 46, 49, 50, 51, 52, 53, 54, 64, 65, 69, 72, 76, 79], "just": [0, 2, 3, 15, 30, 31, 33, 43], "subset": [0, 10, 12, 13, 16, 23, 24, 29, 45, 57, 60, 67, 68, 70], "them": [0, 1, 3, 9, 15, 19, 21, 22, 25, 28, 31, 35, 47, 51, 53, 58], "might": [0, 3, 4, 5, 7, 8, 13, 15, 16, 21, 22, 23, 24, 26, 31, 33, 35, 48, 53, 58, 67, 68], "also": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 23, 24, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 45, 46, 47, 51, 52, 53, 56, 58, 60, 63, 65, 68, 69, 72], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 72, 74, 76, 77, 78], "There": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 26, 29, 31, 45, 47, 51, 55, 59, 60, 63, 66, 67, 68, 75], "creat": [0, 2, 3, 4, 5, 8, 9, 12, 16, 19, 21, 23, 24, 25, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 45, 46, 49, 51, 52, 54, 58, 63, 65, 69, 72], "non": [0, 3, 4, 5, 6, 7, 11, 14, 15, 16, 19, 21, 24, 27, 31, 38, 41, 45, 46, 51, 54, 62, 67, 68, 71], "default": [0, 1, 5, 7, 8, 10, 12, 16, 19, 21, 23, 24, 29, 31, 32, 33, 36, 37, 38, 39, 41, 44, 45, 46, 47, 48, 53, 54, 57, 58, 59, 60, 64, 67, 69, 70, 72, 78, 79], "associ": [0, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 22, 23, 24, 34, 37, 38, 41, 42, 45, 46, 47, 51, 52, 53, 58, 60, 61, 63, 65, 66], "differ": [0, 3, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 21, 23, 24, 26, 29, 37, 38, 41, 47, 51, 52, 56, 67, 69, 70, 78], "mesh": [0, 3, 6, 10, 11, 14, 19, 25, 26, 33, 34, 37, 40, 46, 49, 50, 52, 54, 58, 60, 66, 72], "No": [0, 2, 4, 6, 7, 8, 11, 12, 13, 14, 17, 19, 51, 62, 77, 78], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "object": [0, 8, 14, 19, 36, 38, 39, 46, 49, 50, 51, 52, 53, 64, 76], "repres": [0, 3, 9, 12, 19, 21, 24, 26, 38, 51, 52, 53, 58], "group": [0, 2, 5, 8, 11, 15, 19, 25, 31, 37, 45, 49, 52, 54, 57, 63, 68, 79], "string": [0, 1, 2, 3, 7, 10, 11, 14, 19, 23, 24, 25, 26, 31, 34, 37, 38, 41, 42, 43, 46, 49, 51, 52, 53, 57, 58, 62, 68, 69, 78], "name": [0, 1, 2, 3, 10, 11, 12, 14, 15, 19, 21, 23, 24, 25, 26, 29, 31, 33, 34, 36, 37, 38, 39, 41, 42, 45, 46, 47, 49, 51, 52, 53, 56, 58, 60, 62, 65, 66, 68, 71, 72, 76, 78, 79], "metadata": [0, 1, 8, 11, 16, 17, 21, 26, 34, 41, 42, 54, 61], "pointer": [0, 9, 10, 14, 16, 19, 21, 24, 25, 31, 37, 38, 41, 45, 46, 49, 51, 52, 68], "addition": [0, 9, 12, 15, 19, 26, 52], "have": [0, 2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 26, 28, 30, 32, 33, 37, 38, 41, 42, 44, 45, 46, 47, 49, 51, 52, 65, 67, 68, 76, 78], "static": [0, 6, 7, 10, 11, 13, 14, 19, 21, 23, 24, 25, 26, 31, 36, 49, 52, 53, 72, 79], "map": [0, 3, 7, 14, 15, 19, 24, 25, 31, 37, 38, 41, 42, 45, 49, 58], "quick": [0, 19, 21, 35, 54], "public": [0, 1, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 23, 24, 26, 33, 39, 45, 47, 51], "std": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 14, 16, 19, 21, 23, 24, 26, 31, 34, 37, 38, 41, 42, 46, 48, 51, 52, 53, 57, 69], "groupnam": [0, 3, 24, 31, 37, 53], "kineticauxvar": [0, 26], "kineticaux": 0, "layerthicknessauxvar": [0, 1, 26], "layerthicknessaux": 0, "vorticityauxvar": [0, 26], "vorticityaux": 0, "velocitydel2auxvar": [0, 26], "velocitydel2aux": 0, "more": [0, 1, 3, 4, 7, 12, 15, 16, 21, 23, 26, 27, 31, 32, 33, 36, 37, 43, 58, 60, 61, 67, 68, 69], "futur": [0, 5, 6, 9, 11, 13, 15, 16, 18, 23, 31, 35, 37, 60, 65], "privat": [0, 1, 5, 7, 8, 9, 10, 11, 13, 14, 19, 20, 21, 23, 24, 26, 31, 38, 39, 49, 50], "const": [0, 1, 2, 10, 11, 13, 14, 16, 19, 20, 21, 23, 24, 26, 46, 48, 52, 53, 57], "horzmesh": [0, 1, 9, 19, 20, 25, 26, 39, 40, 46, 49, 50], "defaultauxst": 0, "unique_ptr": [0, 19], "allauxst": [0, 25], "destructor": [0, 11, 14, 19, 21], "sever": [0, 9, 11, 12, 13, 15, 17, 19, 24, 30, 37, 39, 45, 47, 69, 72], "make": [0, 3, 5, 7, 13, 14, 15, 19, 21, 23, 28, 41, 42, 47, 65, 72], "sure": [0, 5, 19, 21, 42, 47], "everi": [0, 6, 8, 10, 11, 13, 19, 24, 25, 26, 33, 35, 49, 51, 52, 56, 67, 68], "properli": [0, 13, 19, 44], "store": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 24, 25, 26, 31, 33, 34, 36, 37, 38, 40, 45, 48, 49, 50, 51, 52, 53, 58, 60, 68, 70, 76], "howev": [0, 3, 5, 6, 7, 9, 11, 15, 19, 22, 23, 30, 37, 40, 42, 51, 58, 68, 72], "new": [0, 2, 6, 7, 11, 13, 14, 16, 17, 19, 21, 23, 31, 34, 35, 37, 45, 46, 47, 51, 52, 53, 68, 79], "enforc": [0, 3, 4, 14, 19, 37, 43, 47, 63, 70], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 57, 58, 60, 61, 63, 65, 67, 68, 69, 71, 72, 77, 78], "respons": [0, 1, 7, 9, 17, 19, 20, 23, 24, 25, 41, 49, 67], "construct": [0, 3, 10, 14, 16, 21, 23, 36, 38, 40, 50, 64, 72], "o": [0, 1, 3, 5, 11, 14, 15, 17, 21, 30, 31, 37, 39, 41, 47, 58, 65, 67, 68], "infrastructur": [0, 1, 5, 9, 13, 15, 17, 42, 44, 46, 52, 54, 55, 71], "int": [0, 1, 2, 4, 6, 7, 8, 10, 11, 13, 14, 17, 18, 19, 20, 21, 24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 45, 46, 48, 50, 52, 53, 57, 69], "nvertlevel": [0, 1, 16, 19, 25, 26, 32, 37, 40, 41, 48, 49, 50], "take": [0, 1, 6, 8, 10, 11, 13, 15, 18, 19, 20, 24, 26, 31, 35, 41, 42, 47, 49, 50, 51, 54, 72], "same": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 16, 19, 21, 22, 26, 30, 37, 40, 43, 44, 51, 58, 68, 72, 78], "argument": [0, 2, 3, 5, 6, 7, 8, 10, 12, 14, 16, 19, 26, 27, 37, 40, 41, 43, 44, 45, 49, 50, 53, 57, 69, 79], "put": [0, 19, 21, 47], "return": [0, 2, 3, 5, 6, 7, 8, 10, 11, 13, 14, 16, 19, 21, 24, 25, 31, 36, 41, 45, 48, 49, 51, 52, 53, 57], "newli": [0, 3, 19, 25, 41, 49, 52], "init": [0, 3, 19, 25, 33, 36, 37, 38, 39, 41, 42, 45, 46, 47, 49, 51, 53], "an": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 60, 67, 68, 69, 70, 72, 75, 77, 78], "error": [0, 2, 5, 6, 8, 10, 11, 12, 13, 14, 15, 19, 21, 24, 28, 31, 33, 36, 41, 48, 51, 53, 54, 68, 69], "code": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 35, 36, 37, 44, 48, 52, 53, 54, 59, 68, 69, 70, 77], "get": [0, 1, 14, 18, 19, 20, 21, 24, 25, 30, 31, 34, 35, 37, 38, 40, 45, 49, 50, 51, 52, 53, 54, 57, 72], "getdefault": [0, 19, 25, 33, 34, 38, 39, 40, 45, 46, 49, 50, 52], "computeal": [0, 19, 25], "ocean": [0, 6, 19, 22, 25, 36, 47, 49, 54, 58, 62, 65], "from": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 56, 57, 60, 65, 66, 67, 68, 70, 72, 77], "given": [0, 1, 3, 5, 8, 10, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 31, 33, 37, 40, 45, 46, 48, 49, 50, 51, 52, 53, 60, 65, 79], "time": [0, 3, 4, 6, 7, 8, 10, 12, 14, 15, 16, 19, 25, 26, 31, 35, 36, 37, 38, 42, 45, 46, 47, 49, 54, 56, 60, 62, 68, 71, 72], "level": [0, 1, 3, 5, 6, 11, 12, 14, 15, 19, 20, 23, 25, 29, 32, 36, 37, 41, 46, 49, 52, 59, 68, 69, 71], "void": [0, 1, 19, 20, 21, 24, 26, 39, 46, 52, 53, 79], "oceanst": [0, 19, 46, 52, 71], "timelevel": [0, 17, 19, 24, 25, 46, 52, 53], "unregist": 0, "eras": [0, 19, 25, 33, 42, 49, 52], "wherea": [0, 19], "clear": [0, 3, 15, 18, 19, 22, 23, 25, 33, 34, 37, 39, 46, 49, 52], "both": [0, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 21, 23, 24, 26, 29, 32, 35, 36, 37, 41, 47, 48, 62, 72, 78], "call": [0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 21, 24, 25, 26, 31, 33, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 57, 58, 64, 67, 69, 70, 76, 79], "process": [0, 3, 5, 8, 9, 10, 14, 15, 19, 21, 24, 29, 31, 33, 41, 42, 44, 52, 57, 64, 67, 70, 72], "check": [0, 2, 8, 11, 14, 19, 21, 24, 28, 31, 42, 51, 54], "work": [0, 1, 10, 12, 15, 19, 20, 21, 45, 72], "ensur": [0, 5, 6, 7, 8, 12, 14, 16, 17, 19, 29, 33, 44, 47, 52, 67], "correctli": [0, 6, 12, 17, 19, 21, 23, 37, 47, 57], "tendenc": [1, 9, 15, 22, 24, 25, 39, 40, 46, 52, 54], "term": [1, 9, 17, 20, 22, 35, 40, 49, 54, 60, 75], "advanc": [1, 6, 15, 17, 21, 22, 24, 26, 31, 36, 37, 46, 51, 52, 56, 78], "model": [1, 2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 26, 29, 36, 37, 38, 41, 45, 46, 51, 52, 54, 56, 60, 62, 63, 68, 70, 78], "state": [1, 15, 18, 19, 21, 26, 37, 40, 49, 52, 54, 56, 63, 68, 76], "while": [1, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 23, 24, 31, 37, 51, 57, 79], "thei": [1, 3, 5, 7, 8, 11, 13, 14, 15, 19, 20, 21, 23, 24, 26, 27, 31, 32, 38, 40, 43, 47, 50, 51, 53, 58, 63, 65, 67, 68, 78], "onli": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 26, 31, 32, 34, 37, 38, 41, 45, 46, 49, 51, 52, 53, 58, 59, 60, 62, 64, 67, 68, 69, 78], "diagnost": [1, 15, 16, 23, 40], "purpos": [1, 3, 7, 9, 12, 14, 15, 23, 32, 37, 40, 44, 47, 54], "can": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 53, 56, 58, 60, 62, 63, 64, 65, 67, 68, 69, 70, 72, 76, 77, 78], "often": [1, 2, 10, 11, 16, 23, 24, 40, 41, 42], "bundl": 1, "togeth": [1, 10, 15, 21, 25, 26, 37, 49, 63], "logic": [1, 3, 10, 14, 41, 45], "relat": [1, 5, 7, 9, 10, 11, 13, 21, 23, 24, 28, 35, 41, 42, 44, 62], "effici": [1, 5, 8, 10, 12, 27, 67], "each": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20, 21, 24, 26, 30, 31, 33, 34, 35, 36, 38, 40, 41, 42, 43, 45, 47, 49, 50, 51, 52, 53, 58, 61, 62, 63, 65, 66, 67, 68, 76, 79], "implement": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 16, 18, 20, 22, 23, 24, 27, 32, 33, 35, 37, 40, 42, 45, 50, 53, 54, 58, 63, 66, 67, 72, 76, 78], "arrai": [1, 3, 5, 6, 11, 13, 14, 15, 19, 21, 24, 26, 33, 34, 37, 38, 39, 40, 41, 42, 46, 48, 49, 50, 51, 54, 60, 63, 64, 67, 75, 76], "": [1, 3, 5, 11, 12, 15, 21, 22, 24, 26, 31, 35, 44, 47, 51, 56, 57, 58, 60, 63, 65, 68, 69, 70, 72, 74], "member": [1, 5, 8, 13, 14, 20, 23, 24, 33, 34, 37, 38, 39, 45, 46, 49, 50, 51, 52, 53, 54, 68, 76], "chunk": [1, 13, 20, 26, 38, 40, 50, 67], "vertic": [1, 8, 9, 15, 20, 24, 25, 26, 33, 34, 40, 46, 49, 50, 53, 56, 60, 65], "particular": [1, 2, 3, 8, 10, 11, 14, 15, 20, 24, 32, 33, 38, 41, 51, 65, 67, 76, 77], "mai": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 26, 30, 31, 32, 37, 47, 53, 56, 58, 63, 67, 68, 72, 78], "than": [1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 14, 16, 21, 23, 26, 30, 31, 33, 37, 41, 47, 51, 67, 68], "one": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21, 22, 24, 26, 29, 33, 37, 41, 43, 45, 51, 52, 53, 59, 67, 68, 72, 78, 79], "sinc": [1, 3, 10, 11, 13, 15, 21, 26, 37, 47, 51, 63, 67, 77], "some": [1, 2, 3, 5, 7, 9, 10, 11, 13, 15, 16, 17, 21, 23, 24, 26, 31, 32, 33, 34, 35, 37, 40, 47, 51, 52, 56, 59, 61, 67, 72, 76], "defin": [1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 15, 16, 18, 20, 21, 23, 26, 29, 31, 32, 33, 34, 36, 37, 38, 41, 42, 44, 45, 48, 51, 52, 53, 56, 59, 61, 62, 63, 64, 66, 68, 70, 72, 76, 79], "element": [1, 15, 16, 26, 38, 40, 48, 50, 52, 66], "approach": [1, 5, 16, 20, 21, 44, 67], "allow": [1, 3, 5, 7, 8, 9, 12, 15, 16, 21, 22, 23, 24, 30, 31, 32, 37, 39, 41, 44, 46, 49, 51, 53, 79], "flexibl": [1, 9, 12, 17, 20, 57], "larger": [1, 4, 6, 12, 20, 23], "cell": [1, 5, 8, 10, 16, 20, 24, 32, 33, 34, 38, 39, 40, 41, 53, 56, 60, 65, 76], "edg": [1, 5, 8, 10, 16, 20, 26, 33, 38, 39, 56, 60, 65, 76], "vertex": [1, 5, 10, 20, 33, 38, 39, 65], "import": [1, 3, 6, 14, 18, 20, 43], "optim": [1, 5, 9, 10, 13, 15, 20, 33, 41, 60, 67, 70], "across": [1, 3, 5, 6, 8, 10, 15, 16, 20, 23, 33, 34, 37, 38, 41, 48, 60, 67], "devic": [1, 4, 13, 16, 17, 20, 24, 32, 33, 37, 39, 46, 48, 64], "constant": [1, 3, 15, 16, 18, 20, 22, 49, 50], "which": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 26, 29, 30, 31, 33, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 49, 50, 51, 60, 63, 65, 68, 72, 76, 77, 78], "simplifi": [1, 2, 20, 21, 24], "abil": [1, 3, 5, 7, 8, 16, 20, 21, 23, 47], "fuse": [1, 20], "separ": [1, 5, 7, 8, 9, 10, 12, 15, 20, 21, 23, 37, 38, 47, 50, 51, 52, 53, 58, 62, 66, 67, 68, 72], "specif": [1, 3, 7, 8, 9, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, 27, 29, 31, 32, 33, 39, 40, 47, 49, 52, 53, 57, 58, 59, 65, 68, 72, 78], "inner": [1, 13, 20], "size": [1, 8, 9, 10, 11, 12, 16, 20, 33, 37, 41, 63], "set": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 20, 21, 22, 23, 24, 28, 29, 31, 35, 37, 39, 40, 41, 43, 44, 45, 51, 52, 53, 54, 60, 62, 64, 67, 68, 69, 70, 72, 76, 78], "length": [1, 13, 15, 16, 20, 21, 24, 29, 33, 34, 41, 45, 48, 51, 53, 65, 70], "machin": [1, 2, 5, 10, 15, 16, 20, 21, 22, 23, 29, 33, 34, 38, 43, 47, 54, 57, 64, 72], "gpu": [1, 8, 13, 20, 22, 26, 33, 45, 47, 70, 72], "possibl": [1, 4, 6, 7, 8, 11, 12, 13, 14, 16, 20, 22, 24, 25, 49], "base": [1, 2, 5, 6, 8, 10, 12, 13, 14, 15, 21, 23, 24, 27, 29, 30, 31, 33, 34, 37, 38, 41, 42, 47, 51, 53, 54, 58, 67, 70, 79], "retriev": [1, 6, 21, 24, 25, 26, 27, 31, 33, 34, 36, 37, 38, 39, 41, 45, 46, 49, 51, 52, 53, 60, 63, 70], "config": [1, 5, 14, 19, 20, 29, 33, 35, 36, 50, 54, 60, 62, 68, 78, 79], "enum": [1, 3, 5, 8, 10, 16, 21, 37, 38, 41, 51, 52, 54], "do": [1, 3, 5, 7, 13, 14, 15, 23, 24, 25, 30, 37, 47, 49], "thing": [1, 7, 35], "regist": [1, 9, 24, 25, 26, 37, 46, 55, 63, 71], "iostream": [1, 25, 34, 37, 41, 54, 63, 67], "anoth": [1, 3, 5, 7, 14, 15, 21, 35], "afterward": [1, 3, 72], "find": [1, 16, 72], "manag": [1, 4, 7, 8, 10, 11, 12, 13, 14, 16, 21, 23, 25, 36, 41, 42, 49, 53, 54, 62, 72, 78, 79], "strategi": [1, 9], "would": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 22, 23, 24, 31, 41, 43, 45, 47, 57, 67, 77], "minim": [1, 6, 7, 10, 15, 58], "amount": [1, 15, 51], "persist": [1, 8, 14], "found": [1, 3, 15, 20, 27, 31, 34, 51, 53, 58, 60, 63, 65], "document": [1, 5, 7, 10, 15, 20, 21, 22, 24, 30, 32, 47, 67, 69], "exampl": [1, 3, 5, 7, 10, 11, 12, 13, 14, 15, 16, 21, 22, 24, 26, 31, 32, 34, 35, 37, 40, 41, 42, 46, 51, 53, 56, 57, 58, 67, 68, 69, 72, 79], "fluxthicktyp": 1, "center": [1, 15, 26, 56, 65, 76], "upwind": [1, 15, 26, 56], "These": [1, 3, 5, 6, 7, 8, 10, 12, 13, 15, 16, 21, 24, 27, 34, 37, 39, 44, 45, 47, 48, 51, 52, 53, 57, 60, 67, 68, 70, 76], "read": [1, 5, 13, 14, 24, 31, 33, 36, 39, 41, 42, 58, 60, 65, 67, 68, 72], "input": [1, 6, 7, 8, 9, 11, 13, 14, 15, 17, 21, 24, 26, 31, 36, 40, 41, 42, 50, 51, 54, 56, 58, 60, 63, 67, 68, 72], "file": [1, 4, 5, 6, 7, 8, 9, 14, 15, 18, 23, 24, 26, 27, 29, 30, 31, 35, 36, 37, 38, 41, 42, 43, 44, 47, 51, 53, 54, 56, 57, 58, 60, 63, 67, 68, 69, 72, 76, 77, 78], "advect": [1, 24, 56, 60, 76], "fluxthicknesstyp": [1, 56], "insid": [1, 40, 50], "choic": [1, 3, 16, 21, 24, 26, 28, 31, 52, 58, 78], "ani": [1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 18, 20, 21, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 45, 48, 49, 50, 51, 52, 62, 63, 64, 68, 69, 70, 72], "array2dr": [1, 19, 20, 24, 26, 46, 53], "fluxlayerthickedg": [1, 26, 56], "meanlayerthickedg": [1, 26, 56], "fluxthickchoic": 1, "kokkos_funct": [1, 20, 26], "computevarsonedg": [1, 26], "iedg": [1, 15, 26], "kchunk": [1, 20, 26, 40, 50], "layerthick": [1, 3, 15, 17, 46, 58, 71], "normalveloc": [1, 11, 15, 17, 37, 46, 71], "array2di4": [1, 9, 20, 26], "cellsonedg": [1, 15, 33, 60, 65], "alloc": [1, 9, 17, 19, 24, 26, 32, 33, 36, 46, 55, 71, 72, 75], "applic": [1, 7, 12, 15, 16, 17, 35, 37, 44, 54, 69], "nedgess": [1, 33], "fluxthicktypestr": 1, "switch": [1, 8, 12, 51], "case": [1, 2, 3, 6, 7, 10, 11, 12, 14, 15, 16, 18, 20, 21, 22, 26, 31, 32, 36, 37, 40, 41, 50, 53, 68, 70, 72, 77], "break": 1, "defineiofield": [1, 26], "horizont": [1, 3, 15, 20, 25, 31, 33, 46, 49, 52, 54, 56, 60, 76], "indic": [1, 5, 8, 12, 15, 16, 22, 24, 32, 33, 38, 40, 46, 69, 72], "handl": [1, 8, 38, 41, 46, 51, 53, 67], "enabl": [1, 3, 5, 10, 12, 13, 14, 20, 24, 29, 34, 44, 52, 54, 57, 72, 76], "layerthickcel": [1, 26], "normalveledg": [1, 26], "kstart": 1, "veclength": [1, 20, 40, 45], "jcell0": 1, "0": [1, 3, 6, 7, 8, 12, 13, 14, 16, 20, 21, 22, 24, 29, 33, 34, 41, 45, 46, 47, 48, 51, 53, 57, 58, 72, 79], "jcell1": 1, "kvec": 1, "k": [1, 5, 15, 20, 41], "5_real": 1, "fluxthickedgechoic": 1, "els": [1, 4, 6, 8, 34], "kokko": [1, 5, 6, 9, 11, 15, 16, 17, 19, 23, 29, 33, 34, 39, 46, 49, 50, 54, 69, 76], "max": [1, 14, 15, 23, 24, 33, 37, 48, 53, 74, 79], "ctest": [1, 3, 6, 7, 20, 72], "compar": [1, 4, 5, 11, 13, 14, 16, 20, 21, 22, 51], "result": [1, 2, 5, 7, 13, 15, 16, 20, 21, 23, 26, 33, 40, 47, 48, 58, 66, 67], "against": [1, 11, 14, 15, 16, 20, 22, 35, 42], "refer": [1, 3, 7, 9, 14, 16, 18, 20, 21, 23, 24, 31, 32, 35, 37, 40, 44, 47, 51, 53, 58, 66, 71, 73, 77, 78, 79], "valu": [1, 2, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 27, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 45, 48, 50, 51, 52, 53, 56, 58, 63, 65, 68, 69, 72, 74, 79], "shallow": [1, 20, 22, 40, 50, 54], "water": [1, 20, 22, 23, 50, 54], "equat": [1, 9, 20, 22, 24, 49, 50, 78], "exist": [1, 2, 5, 7, 9, 13, 20, 21, 23, 24, 31, 32, 35, 37, 41, 45, 51, 52, 53, 68], "polari": [1, 6, 14, 20, 35], "verifi": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 20, 21, 29, 35, 42, 43], "produc": [1, 15, 20, 51], "correct": [1, 9, 17, 20, 21, 24, 58], "rate": [1, 20, 56], "In": [2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 21, 23, 24, 26, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 47, 50, 51, 52, 58, 60, 65, 67, 72, 77, 79], "parallel": [2, 5, 7, 8, 13, 15, 16, 22, 23, 24, 27, 33, 34, 37, 38, 39, 40, 42, 45, 50, 54, 60, 64, 65, 72, 76], "mpi": [2, 3, 5, 6, 7, 8, 10, 12, 15, 16, 29, 33, 36, 37, 38, 41, 45, 47, 48, 54, 57, 64, 67, 70, 72], "current": [2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 21, 23, 24, 26, 27, 33, 36, 37, 38, 40, 41, 43, 44, 46, 47, 50, 51, 52, 53, 56, 57, 58, 60, 62, 64, 65, 66, 67, 68, 72, 76, 77, 78], "configur": [2, 5, 6, 8, 10, 11, 12, 13, 14, 15, 18, 23, 29, 33, 35, 36, 37, 41, 42, 44, 47, 49, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 66, 67, 68, 70, 72, 75, 76, 77, 78], "u": [2, 5, 7, 15, 22, 32], "mani": [2, 3, 5, 7, 8, 9, 10, 15, 16, 24, 41, 47, 60, 70, 72], "aspect": [2, 6, 15, 23, 27, 70], "we": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 30, 31, 32, 33, 35, 37, 41, 42, 47, 58, 59, 60, 61, 67, 73], "must": [2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 21, 23, 24, 31, 33, 34, 35, 37, 38, 41, 42, 44, 48, 51, 52, 57, 58, 60, 61, 63, 67, 68, 72], "abl": [2, 3, 5, 8, 10, 11, 12, 13, 14, 15, 21, 22, 23, 24, 60], "i4": [2, 3, 4, 5, 8, 10, 14, 16, 23, 24, 31, 32, 33, 34, 37, 39, 41, 48, 51, 53, 57, 58, 79], "i8": [2, 3, 4, 10, 14, 16, 23, 31, 32, 37, 48, 57, 58], "r4": [2, 3, 4, 10, 14, 16, 31, 32, 37, 48, 57, 58], "r8": [2, 3, 4, 10, 14, 16, 23, 31, 32, 37, 48, 57, 58], "real": [2, 3, 8, 15, 16, 20, 21, 24, 31, 32, 41, 47, 51, 59, 68, 72], "boolean": [2, 3, 8, 14, 41], "gener": [2, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 23, 24, 29, 31, 35, 37, 41, 51, 52, 58, 60, 65, 67, 68, 69, 72], "most": [2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 17, 21, 22, 23, 31, 34, 37, 38, 41, 42, 51, 53, 58, 67, 69], "common": [2, 3, 4, 7, 11, 14, 21, 23, 52], "plan": [2, 3, 15, 43, 47, 54], "partit": [2, 6, 8, 9, 13, 15, 33, 38, 60], "domain": [2, 9, 17, 22, 38, 54, 64, 65], "sub": [2, 3, 12, 13, 31, 58, 65, 72], "so": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 25, 30, 31, 32, 33, 37, 38, 39, 41, 42, 45, 47, 49, 50, 53, 60, 67, 68, 73], "appropri": [2, 3, 9, 10, 11, 12, 13, 14, 16, 21, 23, 24, 37, 42, 47, 53, 67, 79], "commun": [2, 5, 6, 9, 10, 15, 16, 21, 27, 33, 36, 38, 41, 45, 48, 60, 67, 70], "overlap": [2, 10, 38], "comput": [2, 5, 6, 10, 15, 16, 20, 21, 22, 23, 24, 32, 33, 34, 37, 39, 40, 41, 46, 47, 48, 50, 51, 54, 56, 60, 64, 65, 67, 72, 76], "form": [2, 3, 5, 10, 11, 12, 13, 15, 16, 21, 23, 31, 32, 35, 37, 51, 58, 62], "beyond": [2, 13, 21, 75], "intern": [2, 6, 9, 10, 13, 14, 31, 34, 35, 36, 37, 40, 53, 58, 61, 63, 65, 76], "mostli": [2, 13, 21, 51, 67], "wrapper": [2, 3, 6, 10, 27, 31, 38, 41, 67], "around": [2, 3, 27, 31, 41, 67], "For": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 36, 37, 39, 41, 42, 44, 45, 46, 48, 49, 51, 52, 53, 56, 57, 58, 67, 69, 72, 73, 78], "alia": [2, 3, 30, 31, 32, 37], "mpi_request": [2, 8], "id": [2, 8, 10, 11, 13, 21, 34, 38, 41, 47], "broadcastid": 2, "four": [2, 15, 22, 29, 52, 68, 78], "integ": [2, 3, 5, 6, 7, 8, 13, 16, 21, 24, 32, 36, 41, 49, 51, 52, 53, 68], "note": [2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 22, 24, 26, 29, 32, 33, 37, 41, 45, 57, 67, 68, 72, 79], "interfac": [2, 3, 4, 7, 8, 10, 11, 12, 14, 16, 18, 23, 24, 31, 33, 36, 37, 38, 41, 42, 45, 48, 51, 52, 54, 58, 60, 64, 67, 68, 74], "below": [2, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 23, 24, 31, 33, 37, 41, 43, 47, 53, 57, 68, 72, 79], "could": [2, 3, 6, 8, 9, 12, 13, 15, 21, 22, 23, 31, 40, 41, 67, 69], "templat": [2, 3, 11, 23, 31, 32, 37, 38, 54, 68], "prefer": [2, 7, 10, 24, 31, 41, 67, 68, 72], "overload": [2, 3, 12, 13, 14, 20, 27, 38, 45], "keep": [2, 3, 5, 13, 21, 23, 24, 31, 68], "cleaner": [2, 3, 31], "first": [2, 3, 5, 7, 10, 11, 13, 14, 15, 21, 22, 26, 30, 31, 33, 34, 37, 38, 40, 43, 44, 45, 47, 48, 50, 51, 52, 53, 54, 72], "simplest": [2, 21], "where": [2, 3, 4, 7, 8, 9, 11, 12, 14, 15, 16, 21, 22, 23, 24, 29, 30, 31, 32, 37, 38, 41, 42, 47, 48, 52, 58, 67, 68, 72], "actual": [2, 3, 6, 7, 10, 14, 15, 18, 27, 33, 35, 37, 58, 62, 68], "look": [2, 3, 5, 6, 7, 13, 15, 24, 31, 33, 35, 47, 53, 58], "like": [2, 3, 5, 6, 10, 11, 13, 14, 15, 16, 18, 21, 22, 23, 24, 30, 31, 33, 37, 41, 45, 47, 50, 53, 58, 63, 67, 68, 70, 76], "err": [2, 3, 6, 7, 24, 31, 37, 39, 41, 42, 46, 51, 53], "myintvalu": 2, "myrealvalu": 2, "etc": [2, 5, 6, 9, 11, 14, 21, 22, 23, 30, 32, 34, 36, 37, 46], "On": [2, 6, 8, 10, 13, 45, 72], "remain": [2, 3, 14, 15, 20, 22, 23, 31, 33, 39], "unchang": 2, "receiv": [2, 38, 57, 64], "similar": [2, 3, 5, 6, 7, 8, 12, 13, 15, 16, 21, 24, 26, 31, 32, 41, 48, 58], "abov": [2, 3, 6, 7, 10, 11, 13, 14, 15, 16, 21, 22, 23, 30, 31, 32, 33, 37, 38, 41, 42, 45, 47, 51, 52, 57, 58, 60, 65, 68, 79], "add": [2, 3, 6, 7, 13, 15, 16, 21, 30, 31, 35, 41, 47, 53, 72, 79], "addit": [2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 21, 23, 31, 32, 37, 38, 41, 45, 49, 52, 57, 60, 63, 65, 67, 72, 77, 78], "sourc": [2, 3, 24, 29, 30, 35, 57, 72], "srcrank": 2, "As": [2, 4, 5, 7, 9, 10, 12, 14, 15, 16, 21, 26, 28, 30, 32, 34, 36, 37, 38, 41, 42, 44, 45, 52, 60, 68, 69], "machenv": [2, 8, 10, 13, 16, 23, 31, 33, 38, 41, 54, 57, 60, 64], "subenv": 2, "ident": [2, 3, 5, 7, 14, 15, 16, 22, 31], "replac": [2, 11, 15, 37, 41, 68, 69], "option": [2, 6, 8, 10, 12, 15, 16, 19, 20, 23, 24, 26, 29, 31, 35, 36, 37, 45, 47, 48, 49, 50, 53, 55, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 72, 75, 77, 78, 79], "request": [2, 8, 11, 14, 16, 21, 24, 31, 35, 43, 68], "follow": [2, 3, 5, 7, 9, 12, 15, 18, 21, 22, 24, 26, 28, 29, 30, 32, 36, 38, 40, 43, 47, 50, 51, 52, 53, 56, 57, 65, 66, 69, 72, 76, 78], "standard": [2, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 21, 22, 23, 24, 27, 32, 37, 41, 51, 53, 58, 59, 60, 64, 68, 72, 79], "ibroadcast": [2, 54], "ibroadcastwait": 2, "includ": [2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 29, 30, 31, 35, 37, 41, 42, 43, 44, 45, 47, 52, 60, 63, 65, 68, 69, 70, 72, 77, 79], "wait": 2, "complet": [2, 3, 5, 6, 8, 11, 12, 15, 23, 37, 60, 68, 72], "A": [2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 25, 33, 34, 37, 38, 39, 42, 46, 47, 49, 51, 52, 53, 54, 58, 67, 68, 70, 77], "sequenc": [2, 7, 11, 21, 31, 58], "myreqid": 2, "myvar": [2, 7, 14], "perform": [2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 21, 23, 24, 26, 32, 34, 37, 38, 39, 40, 43, 46, 48, 52, 53, 54, 59, 60, 61, 64, 67], "multi": [2, 5, 6, 7, 10, 14, 32, 33, 34, 51, 54], "processor": [2, 5, 10, 16, 23, 48, 60], "driver": [2, 3, 11, 13, 24, 54], "initi": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 17, 20, 21, 22, 24, 31, 33, 36, 37, 38, 39, 41, 42, 45, 46, 50, 51, 54, 60, 70, 75, 78], "zero": [2, 3, 6, 7, 14, 15, 16, 22, 24, 31, 34, 37, 41, 77], "empti": [2, 3, 14, 21, 23, 31, 37, 42, 78], "expect": [2, 3, 4, 5, 7, 8, 13, 14, 15, 21, 34, 41, 70], "repeat": [2, 5, 11, 15, 23, 41], "two": [2, 5, 6, 7, 8, 11, 13, 14, 15, 16, 21, 22, 24, 27, 29, 37, 38, 41, 42, 46, 49, 51, 52, 53, 56, 57, 63, 67, 72, 78, 79], "except": [2, 7, 8, 12, 14, 15, 24, 41, 65, 68], "tandem": [2, 15], "after": [2, 3, 5, 7, 8, 11, 13, 15, 21, 23, 31, 33, 38, 39, 42, 43, 46, 51, 52, 63, 68, 72], "issu": [2, 4, 12, 21, 31, 69], "extra": [2, 16, 33], "corrupt": [2, 12], "overwritten": 2, "necessari": [3, 8, 9, 11, 12, 16, 30, 31, 32, 33, 36, 37, 38, 39, 46, 58, 64, 67, 68, 72], "run": [3, 5, 7, 8, 10, 11, 13, 16, 23, 28, 30, 31, 33, 35, 36, 38, 43, 45, 51, 52, 58, 60, 62, 64, 70, 72], "physic": [3, 15, 31, 32, 38, 58], "coeffici": [3, 15, 31, 52, 58, 76], "parameter": [3, 15, 20, 31, 58], "variou": [3, 4, 6, 9, 10, 12, 13, 21, 23, 27, 31, 37, 40, 41, 44, 45, 51, 52, 58, 65, 67, 74, 77], "typic": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 21, 23, 24, 30, 31, 33, 34, 37, 40, 41, 51, 53, 58, 68, 69, 77], "serv": [3, 8, 27, 31, 35, 36, 44, 58], "descript": [3, 7, 12, 14, 15, 24, 31, 37, 53, 54, 56, 58, 60, 65, 76, 79], "well": [3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 21, 23, 24, 31, 34, 36, 38, 51, 52, 58, 66, 72], "easili": [3, 24, 32, 65], "understood": [3, 15], "modifi": [3, 6, 11, 13, 21, 30, 31, 35, 40, 43, 51, 53, 57, 58, 62, 72, 77, 78], "expert": 3, "user": [3, 7, 8, 10, 11, 12, 14, 15, 21, 23, 24, 26, 29, 31, 32, 35, 41, 42, 44, 49, 51, 53, 55, 56, 58, 59, 60, 61, 62, 63, 66, 67, 68, 70, 72, 75, 76, 77, 78, 79], "markup": 3, "interfer": 3, "conform": [3, 14, 51], "eas": [3, 7, 15], "pars": 3, "potenti": [3, 5, 8, 12, 21, 24, 40, 51, 53, 69, 76, 79], "interoper": [3, 12, 15], "yaml": [3, 11, 24, 31, 35, 36, 53, 54, 58, 63, 68], "json": [3, 12], "xml": [3, 29, 47, 70, 72], "entir": [3, 8, 16, 24, 37, 77], "save": [3, 7, 8, 11, 31, 38, 44, 72], "act": 3, "although": [3, 9, 32, 41, 72], "relev": [3, 5, 6, 12, 15, 16, 20, 23, 37, 42, 51], "modul": [3, 6, 7, 10, 11, 14, 21, 24, 31, 36, 37, 38, 41, 42, 51, 52, 58, 60, 63, 68, 72], "inevit": 3, "depend": [3, 4, 5, 8, 9, 10, 13, 15, 21, 22, 24, 25, 37, 38, 39, 41, 49, 51, 64, 65], "other": [3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 21, 24, 26, 31, 34, 35, 37, 39, 41, 42, 45, 47, 51, 52, 58, 62, 63, 66, 67, 68, 77, 78, 79], "therefor": [3, 35, 72], "float": [3, 8, 10, 11, 16, 21, 32, 51, 58, 59, 68, 69], "doubl": [3, 4, 8, 10, 11, 15, 16, 21, 32, 59, 68], "limit": [3, 8, 10, 69], "vector": [3, 5, 8, 10, 11, 14, 16, 21, 23, 24, 31, 37, 41, 45, 48, 51, 53, 57, 58, 70], "should": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 29, 31, 32, 34, 35, 37, 41, 42, 45, 47, 52, 53, 60, 62, 67, 68, 69, 72, 78], "never": [3, 15, 68], "consum": 3, "signific": 3, "resourc": [3, 38], "either": [3, 6, 7, 8, 11, 12, 15, 16, 21, 23, 24, 36, 37, 38, 41, 42, 47, 48, 50, 51, 53, 57, 62, 68, 70, 72, 74, 78, 79], "storag": [3, 4, 10, 17, 24, 41], "execut": [3, 5, 7, 12, 15, 29, 36, 38, 58, 62, 64, 72], "replic": [3, 5, 9, 10, 37, 39], "rank": [3, 5, 8, 10, 12, 13, 16, 24, 32, 53], "though": [3, 4, 11, 13, 14, 21, 23, 32, 35, 51, 67, 68], "manipul": [3, 24, 51], "eg": [3, 4, 5, 6, 7, 10, 11, 13, 14, 16, 21, 23, 31, 32, 33, 34, 37, 41, 42, 45, 51, 58, 68, 70, 77, 78], "describ": [3, 5, 6, 7, 8, 11, 14, 15, 16, 18, 21, 23, 24, 31, 32, 33, 34, 35, 37, 41, 42, 47, 58, 60, 63, 66, 67, 70, 74, 77, 78], "convert": [3, 9, 10, 16, 21, 32, 41, 51, 58, 67], "happen": [3, 7], "befor": [3, 5, 14, 16, 21, 23, 25, 32, 33, 34, 35, 37, 39, 41, 42, 43, 46, 48, 49, 51, 68], "simplic": [3, 57], "detail": [3, 6, 7, 12, 15, 16, 18, 23, 29, 32, 35, 58, 60, 61, 63, 67, 69, 72, 74], "maintain": [3, 5, 9, 11, 13, 14, 24, 37, 45, 57, 72], "If": [3, 7, 8, 10, 11, 12, 13, 15, 21, 22, 23, 24, 28, 30, 31, 37, 42, 43, 45, 47, 51, 53, 62, 68, 72, 78], "multipl": [3, 7, 12, 14, 21, 22, 24, 25, 27, 31, 33, 37, 45, 48, 49, 52, 53, 60, 68, 70, 72, 78], "obviou": 3, "link": [3, 21, 23, 32, 35, 47, 58, 59, 72], "main": [3, 4, 5, 11, 29, 36, 38, 44, 52, 58, 78], "easier": [3, 14, 21], "encapsul": [3, 41], "organ": [3, 8, 9, 22, 27, 38, 39], "wai": [3, 4, 5, 15, 22, 23, 24, 30, 35, 37, 40, 47, 56, 58, 60], "primarili": [3, 7, 10, 13, 14, 21, 34, 37, 54, 58], "those": [3, 5, 7, 8, 10, 15, 21, 22, 23, 31, 38, 42, 64, 65, 67, 75, 77], "becaus": [3, 4, 5, 7, 8, 10, 11, 14, 15, 16, 21, 22, 23, 26, 32, 37, 45, 58], "outsid": [3, 8, 23, 40, 42, 73], "c": [3, 4, 7, 12, 14, 15, 21, 23, 25, 26, 29, 32, 40, 45, 47, 49, 53, 54, 58, 66, 69, 79], "python": [3, 29, 47, 54, 72], "suppli": [3, 5, 6, 11, 13, 14, 21, 31, 37, 38, 41, 45, 51, 58, 72, 77], "throw": 3, "exit": [3, 6, 7, 10, 11, 32, 34, 37, 68], "becom": [3, 32, 59, 67], "part": [3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 16, 21, 22, 29, 31, 32, 37, 43, 44, 52, 58, 65, 67], "unexpect": 3, "encount": [3, 6, 7, 24, 44], "ignor": [3, 10, 15, 37], "mean": [3, 4, 7, 14, 15, 16, 21, 22, 23, 52, 69, 78], "extract": [3, 14, 16, 24, 31, 36, 37, 38, 41, 42, 58], "what": [3, 5, 13, 15, 30, 35, 43], "extern": [3, 23, 29, 47, 72], "rang": [3, 12, 24, 31, 37, 48, 50, 51, 53, 67], "assign": [3, 5, 7, 13, 14, 21, 24, 37, 41, 53, 67], "anticip": [3, 14, 21, 23, 35], "packag": [3, 5, 24, 28, 30, 35, 43, 53, 79], "chosen": [3, 12, 15, 21, 22], "select": [3, 5, 10, 11, 21, 23, 29, 45, 54, 63, 78], "meet": [3, 15, 16, 33], "improv": [3, 4, 7, 9, 12, 13, 15, 16, 24], "over": [3, 4, 5, 8, 11, 12, 15, 16, 21, 24, 34, 36, 40, 51], "cpp": [3, 4, 7, 13, 27, 31, 44], "librari": [3, 5, 7, 8, 10, 11, 12, 13, 15, 21, 29, 31, 32, 33, 41, 60, 67, 72], "third": [3, 13, 15], "parti": [3, 4], "inform": [3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 33, 34, 35, 37, 38, 39, 44, 45, 49, 51, 60, 63, 64, 65, 69, 70], "node": [3, 10, 13, 22, 23, 31, 33, 41, 45, 47, 58, 60, 64, 67, 70, 72], "featur": [3, 12, 18, 21, 35, 47, 57], "syntax": [3, 4, 15, 31, 32, 57, 69], "larg": [3, 5, 8, 15, 21, 23, 37, 41, 60], "complex": [3, 21], "structur": [3, 5, 6, 12, 54], "less": [3, 7, 11, 15, 21, 67, 68], "full": [3, 8, 11, 12, 14, 16, 21, 24, 31, 37, 41, 43, 58, 60, 67, 68, 76], "routin": [3, 5, 6, 7, 8, 10, 11, 13, 16, 21, 23, 24, 32, 33, 37, 39, 41, 42, 45, 46, 52, 65], "later": [3, 5, 6, 7, 10, 13, 14, 15, 16, 21, 22, 23, 24, 29, 31, 37, 43, 47, 52, 67, 68], "forward": [3, 20, 21, 38, 51, 52, 78], "integr": [3, 6, 21, 22, 24, 29, 36, 44, 47, 51, 52, 54, 72], "broadcast": [3, 54], "believ": 3, "global": [3, 8, 12, 15, 22, 24, 33, 34, 37, 41, 42, 47, 53, 54, 63], "share": [3, 6, 7, 15, 33, 37, 47, 52], "fulli": [3, 33], "accur": [3, 21], "our": [3, 11, 15, 30], "nest": [3, 31, 38, 40, 58], "simpli": [3, 4, 5, 7, 11, 13, 14, 15, 18, 21, 22, 34, 37, 47, 53, 77, 79], "keyword": 3, "pair": [3, 5, 14, 15, 21, 24, 37, 42, 45, 53, 58], "lowest": 3, "simpl": [3, 7, 13, 14, 15, 21, 23, 24, 37, 45, 67, 68], "next": [3, 15, 17, 21, 42, 51, 68], "up": [3, 4, 5, 6, 7, 10, 13, 15, 21, 24, 28, 30, 31, 35, 36, 37, 40, 43, 45, 51, 54, 58], "collect": [3, 8, 14, 16, 24, 29, 37, 48, 74], "root": [3, 12, 28, 29, 30, 57, 67], "correspond": [3, 6, 10, 12, 15, 24, 32, 35, 42, 53], "stream": [3, 9, 14, 24, 31, 54, 58, 61, 63], "tbd": 3, "under": [3, 15, 16, 23, 27, 31, 47, 57, 72], "timemanag": [3, 54, 58, 62], "dorestart": 3, "fals": [3, 7, 8, 20, 21, 37, 51, 58, 68], "restarttimestampnam": [3, 58], "restarttimestamp": [3, 58], "starttim": [3, 6, 11, 21, 23, 36, 51, 52, 58, 62, 68, 78], "0001": [3, 58, 62, 68, 78], "01": [3, 47, 58, 62, 78], "01_00": [3, 58, 62, 68, 78], "00": [3, 58, 62, 68, 78], "stoptim": [3, 51, 52, 58, 62, 78], "none": [3, 15, 21, 23, 24, 51, 53, 58, 62, 78, 79], "rundur": [3, 58, 62, 78], "0010_00": [3, 58], "calendartyp": [3, 58, 62, 78], "noleap": [3, 58], "hmix": [3, 31, 58], "hmixscalewithmesh": [3, 31, 58], "maxmeshdens": [3, 31, 58], "hmixuserefwidth": [3, 31, 58], "hmixrefwidth": [3, 31, 58], "30": [3, 21, 51, 58, 62, 77], "0e3": [3, 58], "filenametempl": [3, 58], "nc": [3, 5, 11, 47, 58, 60, 68], "inputinterv": [3, 58], "initial_onli": [3, 58], "y": [3, 11, 30, 51, 58, 68], "m": [3, 4, 11, 15, 30, 51, 58, 65, 68], "d_": [3, 11, 15, 58, 68], "h": [3, 4, 11, 15, 21, 22, 27, 33, 39, 42, 44, 46, 51, 57, 58, 68, 69], "filenameinterv": [3, 58], "00_00": [3, 58], "referencetim": [3, 58], "clobbermod": 3, "truncat": 3, "precis": [3, 4, 6, 8, 10, 15, 16, 21, 22, 41, 54, 58, 68], "outputinterv": [3, 58], "0001_00": [3, 58], "content": [3, 10, 14, 15, 18, 22, 24, 30, 37, 42, 58, 68, 72], "tracer": [3, 8, 22, 25, 37, 46, 49, 52, 54, 56, 58, 60, 63, 68, 71, 76, 78], "ssh": [3, 15, 47, 58], "kineticenergycel": [3, 15, 26, 56, 58], "relativevorticitycel": [3, 58], "obvious": [3, 6], "wrap": 3, "context": [3, 17, 37, 70], "omegaconfig": [3, 31], "configread": 3, "yml": [3, 31, 36, 53, 58, 79], "retain": [3, 6, 11, 23, 65, 68], "throughout": [3, 4, 11, 13, 15, 24, 38], "onc": [3, 5, 6, 11, 16, 21, 24, 33, 37, 38, 39, 41, 42, 43, 45, 48, 60, 64, 68, 72], "ha": [3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 21, 22, 24, 25, 26, 31, 33, 36, 37, 39, 42, 45, 47, 49, 51, 52, 53, 57, 67, 68, 72], "been": [3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 21, 24, 33, 37, 38, 39, 41, 42, 44, 45, 46, 51, 52, 57, 65, 68], "realli": [3, 5], "top": [3, 6, 10, 23, 24, 29, 31, 35, 36, 42], "local": [3, 8, 9, 13, 16, 17, 24, 30, 32, 33, 34, 38, 39, 41, 47, 48, 65], "sampl": [3, 5, 9, 11, 14, 17, 23, 24, 31, 68], "hmixconfig": [3, 31], "configget": 3, "ierr": 3, "refwidth": 3, "bool": [3, 8, 11, 13, 14, 20, 21, 23, 24, 31, 34, 37, 42, 57, 58, 76], "userefwidth": 3, "confignam": 3, "varnam": [3, 41], "report": [3, 7, 23], "rather": [3, 4, 5, 7, 13, 14, 15, 31, 33, 37, 47, 51], "print": [3, 7], "messag": [3, 5, 8, 10, 11, 12, 13, 16, 27, 33, 38, 44, 45, 60, 64, 68, 69, 70], "defaultv": 3, "doe": [3, 5, 7, 10, 12, 14, 16, 21, 24, 26, 32, 37, 42, 53, 57, 68, 69], "warn": [3, 7, 12, 28, 31, 68, 69], "being": [3, 5, 7, 8, 9, 21, 27, 37, 41], "intent": 3, "capabl": [3, 5, 7, 10, 11, 14, 15, 18, 21, 23, 27, 37, 44, 57, 58, 60], "essenti": [3, 6, 12, 24, 42], "invers": [3, 32], "configset": 3, "true": [3, 7, 13, 15, 21, 24, 37, 51, 68, 76], "liter": [3, 32], "cast": [3, 14, 15], "accord": [3, 33], "convers": [3, 21, 58], "build": [3, 4, 6, 7, 9, 13, 15, 23, 30, 31, 32, 35, 36, 40, 43, 45, 54, 58, 59, 64, 70], "yet": [3, 4, 5, 24, 31, 42, 47, 60, 72, 73], "distinguish": [3, 11, 14, 23], "subgroup": 3, "configadd": 3, "To": [3, 5, 6, 7, 8, 11, 13, 14, 15, 16, 21, 24, 25, 33, 37, 41, 43, 45, 47, 48, 49, 51, 52, 53, 57, 60, 69, 72, 79], "parent": [3, 6, 13, 23, 31, 36, 45], "satisfi": [3, 7, 8, 12, 13], "again": [3, 7, 15, 41, 60], "configexist": 3, "stuff": [3, 13, 37], "hmixexist": 3, "decid": [3, 31, 47], "configwrit": 3, "myconfig": 3, "outputfilenam": 3, "delet": [3, 5, 11, 30, 31, 37, 45], "free": [3, 5, 14, 15, 31], "space": [3, 5, 8, 11, 14, 24, 30, 31, 33, 37, 38, 47, 51, 58, 64], "dure": [3, 6, 7, 8, 9, 10, 11, 12, 14, 15, 20, 21, 29, 34, 36, 37, 42, 50, 51, 52, 53, 57, 64, 70, 72, 77, 79], "phase": [3, 36, 37, 52], "order": [3, 4, 5, 8, 11, 12, 14, 15, 16, 22, 26, 27, 31, 32, 33, 51, 52, 56, 60, 62, 78], "consist": [3, 6, 14, 15, 21, 22, 23, 24, 29, 36, 51, 58], "avoid": [3, 5, 7, 8, 9, 11, 13, 18, 21, 24, 32, 33, 41, 51], "propos": 3, "insert": [3, 23, 32, 37, 42, 59], "block": [3, 18, 24, 27, 31, 38, 40, 54], "header": [3, 4, 12, 18, 26, 27, 31, 36, 37, 38, 42, 44, 51, 57, 69], "doxygen": 3, "someth": [3, 5, 6, 24, 30, 33, 47], "configinput": [3, 31], "mix": [3, 4, 15, 24, 31, 76], "coeff": [3, 31, 52], "unit": [3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 21, 22, 23, 24, 31, 34, 35, 37, 41, 47, 51, 53, 62, 65, 68, 72, 79], "varname1": [3, 31], "defaultvalue1": [3, 31], "varname2": [3, 31], "defaultvalue2": [3, 31], "continu": [3, 7, 10, 11, 22, 24, 31, 78], "var": [3, 7, 10, 11, 12, 14, 18, 31, 33, 39, 47], "endconfiginput": [3, 31], "between": [3, 5, 6, 8, 10, 12, 15, 21, 47, 48, 51, 60, 65, 68, 71], "line": [3, 5, 7, 15, 31, 51, 58, 72], "verbatim": 3, "written": [3, 6, 10, 11, 15, 22, 24, 31, 35, 36, 41, 42, 54, 68], "proper": [3, 15, 21, 24, 37], "indent": [3, 23, 58, 68], "delimit": [3, 31, 58, 68], "comment": [3, 14, 16, 24, 31], "strip": 3, "concis": [3, 7], "similarli": [3, 7, 8, 11, 14, 16, 21, 31, 37, 52, 58], "info": [3, 5, 7, 8, 10, 12, 31], "develop": [3, 5, 6, 7, 10, 12, 15, 22, 27, 28, 31, 32, 34, 35, 36, 37, 41, 43, 51, 57, 58, 60, 63, 69, 70, 73, 74, 77], "guid": [3, 15, 29, 31, 35, 41, 42, 43, 58, 60, 63, 70, 74], "automat": [3, 12, 29, 31, 32, 51, 72], "pass": [3, 5, 7, 8, 13, 14, 18, 23, 27, 29, 33, 38, 39, 41, 42, 45, 46, 47, 48, 50, 51, 60, 64, 65, 70, 72], "fail": [3, 10, 11, 13, 18, 21, 41, 47, 68, 72], "framework": [3, 4, 14, 15, 29, 32, 44, 54], "least": [3, 5, 22, 23, 60], "few": [3, 10, 21, 24, 37, 77], "behavior": [3, 7, 10, 12, 15, 41, 68, 69], "enough": [3, 7, 8], "number": [3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 20, 21, 23, 24, 25, 31, 32, 33, 37, 41, 45, 46, 48, 49, 51, 52, 53, 60, 67, 68, 70, 77, 78], "simul": [3, 6, 7, 9, 10, 11, 13, 14, 15, 20, 23, 24, 31, 36, 37, 41, 42, 47, 51, 52, 53, 62, 68, 77, 78, 79], "inquir": [3, 14, 41], "wa": [3, 6, 15, 21, 22, 37, 41, 72], "Then": [3, 10, 16, 31], "match": [3, 7, 11, 13, 21, 24, 33, 41, 67, 68], "origin": [3, 15, 47], "alias": [4, 8, 10, 16], "wish": [4, 7, 11, 13, 16, 23, 30, 43, 44, 47, 63, 67, 68], "explor": [4, 15, 32, 59, 67], "lower": [4, 11, 12, 14, 15, 68], "compil": [4, 8, 12, 23, 29, 47, 72], "singl": [4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 21, 22, 23, 31, 32, 37, 38, 42, 51, 58, 59, 62, 68], "32": [4, 13, 32, 41, 59], "bit": [4, 5, 8, 11, 15, 16, 32, 41, 59], "64": [4, 13, 15, 29, 32, 41, 59], "long": [4, 10, 14, 15, 16, 22, 24, 28, 32, 37, 47, 53, 79], "shorter": [4, 41, 78], "intuit": 4, "better": [4, 5, 7, 23, 37, 60], "control": [4, 8, 12, 29, 51], "much": [4, 5, 10, 35], "inhibit": 4, "e3sm": [4, 6, 10, 11, 14, 15, 16, 21, 29, 35, 36, 41, 53, 54, 58, 67, 79], "coupler": [4, 13], "3rd": 4, "lib": [4, 72], "portabl": [4, 23, 54], "ai": 4, "ml": 4, "languag": [4, 32], "adequ": 4, "reproduc": [4, 15, 33, 48, 65], "req": [4, 6], "incorpor": [4, 7, 44], "d": [4, 12, 13, 15, 16, 21, 30, 51, 68, 69], "single_precis": [4, 8], "otherwis": [4, 11, 21], "older": [4, 5, 67], "typedef": 4, "host": [4, 8, 16, 17, 24, 32, 33, 37, 39, 46, 48], "int32_t": 4, "int64_t": 4, "ifdef": [4, 8], "endif": [4, 8], "make_omega_view_dim": 4, "n": [4, 13, 15, 21, 22, 30, 32, 34, 47], "v": [4, 15], "t": [4, 13, 14, 15, 21, 22, 26, 69], "1d": [4, 8, 16, 37, 48], "2d": [4, 48], "3d": 4, "4d": 4, "5d": [4, 10, 16, 48], "make_omega_view_typ": 4, "dimens": [4, 10, 15, 16, 24, 32, 37, 41, 48, 53, 54], "view": [4, 12, 17, 28, 47], "memlayout": 4, "memspac": 4, "hostarrai": [4, 37], "hostmemlayout": 4, "hostmemspac": 4, "system": [4, 6, 10, 12, 13, 15, 21, 24, 27, 29, 30, 32, 41, 44, 47, 59, 60, 69, 72], "coupl": [4, 56], "exercis": [4, 15], "sizeof": 4, "without": [4, 7, 12, 15, 21, 37, 43, 49, 51, 60, 62, 72, 77], "mirror": [4, 11, 37], "copi": [4, 5, 21, 24, 26, 29, 32, 33, 39, 40, 46, 47, 72], "util": [5, 8, 9, 11, 21, 23, 27, 29, 33, 38, 41, 44, 51, 54, 57, 72], "hierarch": 5, "coars": 5, "grain": 5, "achiev": [5, 13, 24, 52], "via": [5, 8, 9, 23, 24, 33, 39, 41, 42, 44, 46, 51, 60, 63, 64, 67, 77], "decompos": [5, 33, 41, 60, 65], "proce": [5, 7], "decomposit": [5, 9, 10, 23, 34, 38, 39, 41, 54, 65, 67], "primari": [5, 7, 8, 11, 21, 22, 27, 40, 51, 52, 68], "distribut": [5, 8, 10, 16, 29, 33, 34, 37, 38, 41, 48, 60, 67, 72, 74], "tool": [5, 9, 15, 29, 31, 36, 43, 44, 47, 67, 69, 72], "parmeti": [5, 29, 33, 60, 72], "zoltan": 5, "encourag": [5, 15, 59], "normal": [5, 15, 17, 19, 21, 43, 49, 52, 65, 66, 76], "adjac": [5, 8, 64], "see": [5, 7, 10, 11, 13, 15, 21, 23, 24, 29, 31, 32, 37, 41, 43, 47, 59, 67, 69, 72], "backward": [5, 52, 78], "comparison": [5, 15, 21, 22, 54], "mpa": [5, 8, 21, 22, 33, 39, 47, 54, 65], "occur": [5, 6, 7, 10, 12, 13, 14, 15, 16, 21, 23, 42, 68], "ie": [5, 37], "pre": [5, 7, 15, 23, 43, 47, 64, 67, 70], "step": [5, 8, 10, 15, 21, 24, 26, 30, 42, 47, 51, 54, 56, 60, 68, 72, 77], "meant": [5, 10, 21, 37, 39, 46, 52, 65], "past": [5, 15, 21], "difficulti": 5, "experi": [5, 24, 58], "shown": [5, 15, 22, 24, 31, 53, 58, 68, 72, 79], "even": [5, 24], "high": [5, 9, 10, 11, 15, 16, 22, 23, 33, 68], "resolut": [5, 9, 10, 15, 22, 33], "veri": [5, 7, 15, 21, 23, 33, 37, 40, 47], "inexpens": 5, "off": [5, 29, 30, 51, 64], "graph": 5, "alreadi": [5, 6, 7, 8, 9, 11, 13, 14, 15, 28, 30, 37, 39, 41, 46, 47, 68], "format": [5, 11, 12, 14, 18, 21, 23, 35, 41, 43, 44, 47, 51, 58, 62, 67, 68, 69, 78], "list": [5, 11, 13, 14, 18, 24, 29, 37, 38, 45, 51, 52, 58, 63, 68], "neighbor": [5, 8, 15, 33, 38, 60], "second": [5, 6, 13, 14, 15, 16, 21, 22, 24, 31, 34, 37, 45, 48, 51, 52, 68, 78], "netcdf": [5, 10, 15, 29, 41, 67], "cellsoncel": [5, 9, 33, 60], "elimin": [5, 46], "nearest": [5, 21], "point": [5, 7, 8, 11, 15, 16, 18, 21, 24, 32, 34, 37, 51, 58, 59, 60, 67, 68], "updat": [5, 21, 36, 37, 38, 40, 46, 47, 50, 52, 53, 54, 63, 71, 76, 78], "renumb": 5, "setup": [5, 15, 54], "address": [5, 7, 12, 24, 69], "own": [5, 8, 11, 12, 13, 14, 16, 30, 31, 33, 37, 38, 47, 58, 63], "variabl": [5, 6, 7, 10, 11, 12, 13, 16, 20, 21, 22, 24, 27, 29, 31, 32, 33, 35, 37, 38, 39, 41, 42, 43, 46, 49, 50, 52, 53, 54, 55, 58, 65, 69, 71, 72, 76, 77, 79], "quantiti": [5, 9, 15, 21, 22, 37, 38, 51, 52, 70, 77], "transfer": [5, 8, 37, 39, 46], "load": [5, 23, 72], "balanc": [5, 23], "support": [5, 7, 8, 11, 14, 16, 24, 29, 31, 32, 37, 38, 41, 42, 45, 47, 51, 52, 58, 59, 60, 62, 64, 67, 68, 69, 70, 77], "estim": 5, "workload": 5, "calcul": [5, 8, 9, 15, 19, 22, 24, 37, 39, 45, 46], "domin": [5, 13], "barotrop": [5, 9, 13, 22, 78], "mode": [5, 6, 9, 11, 12, 14, 22, 29, 32, 36, 41, 54, 68, 72, 78], "smaller": [5, 8], "timestep": [5, 6, 11, 21, 22, 36, 46, 51, 52, 60, 71, 77, 78], "region": [5, 16, 23, 34, 40, 64], "focus": [5, 27], "subscrib": 5, "combin": [5, 10, 15, 16, 35, 56, 67, 68], "low": 5, "unclear": 5, "whether": [5, 8, 10, 13, 14, 15, 16, 21, 30, 34, 37, 41, 64, 68], "best": [5, 13, 16, 21, 47, 68], "accomod": [5, 16], "identifi": [5, 15, 23, 24, 47, 52], "help": [5, 8, 9, 14, 28, 30, 47], "embed": 5, "present": [5, 15, 22, 32, 33, 68, 78], "here": [5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 24, 31, 33, 41, 42, 65, 67, 69], "per": [5, 6, 8, 10, 13, 21, 33, 51, 53, 67, 68, 77, 79], "prevent": [5, 12, 13, 24, 37], "ad": [5, 6, 7, 11, 14, 15, 21, 22, 23, 26, 29, 31, 37, 47, 52, 63, 72], "reduc": [5, 8, 10, 12, 15, 16, 21, 22, 33, 48, 60, 63, 68, 74], "serial": [5, 16, 33, 67], "io": [5, 6, 9, 11, 12, 17, 26, 31, 33, 34, 37, 46, 54, 55, 58, 60, 61, 71], "destroi": [5, 14, 24, 33, 34, 37], "partmethod": 5, "partmethodunknown": 5, "undefin": [5, 10, 13, 14, 21, 37, 41, 51], "partmethodmetiskwai": 5, "kwai": 5, "geomkwai": 5, "fill": [5, 7, 8, 11, 14, 24, 33, 41, 52, 60], "curv": 5, "eventu": [5, 10, 33, 36, 39, 46], "appear": [5, 14, 15, 37], "halowidth": [5, 8, 60], "width": [5, 21, 51, 62], "oper": [5, 19, 21, 23, 24, 26, 27, 37, 41, 48, 53, 54, 57, 69, 74], "meshinputfilenam": 5, "omegameshfil": 5, "partitionmethod": 5, "metiskwai": [5, 60], "halodepth": 5, "depth": [5, 15, 65], "ncellsglob": [5, 33, 34], "num": [5, 13, 21], "ncellsal": [5, 16, 33, 41], "ncellsown": [5, 16, 33, 34, 39, 40, 41, 48, 50], "exclus": 5, "ncellshalo": [5, 33], "cellglobalid": 5, "compact": [5, 31], "ghost": 5, "linear": [5, 33, 60], "start": [5, 6, 13, 14, 21, 24, 29, 30, 35, 36, 45, 51, 53, 54, 58, 67, 72, 77, 78], "nbrstartcel": 5, "addr": 5, "nbr": 5, "nbrloccel": 5, "maindecomp": 5, "determin": [5, 6, 7, 8, 11, 13, 16, 21, 23, 33, 36, 37, 44, 53, 62, 68], "exact": [5, 21, 24], "newdecomp": [5, 38], "olddecomp": 5, "npart": 5, "mydecomp": 5, "small": [5, 15], "standalon": [5, 29, 36, 54, 58, 67], "gpmeti": 5, "fortran": [5, 15, 21, 29, 32], "account": [5, 18, 21, 29, 47, 72], "sum": [5, 7, 8, 15, 23, 54, 74], "when": [6, 7, 8, 10, 11, 13, 14, 15, 16, 19, 21, 22, 23, 24, 28, 31, 32, 34, 35, 37, 41, 42, 43, 46, 48, 51, 52, 57, 59, 61, 64, 67, 68], "export": [6, 47], "thin": 6, "translat": [6, 10, 36], "mimic": [6, 13], "surfac": [6, 76], "forc": [6, 11, 21, 22, 36, 42], "through": [6, 7, 10, 12, 14, 24, 31, 34, 37, 42, 47, 56, 72, 77], "subsequ": [6, 7, 41], "interv": [6, 23, 36, 51, 68], "place": [6, 10, 12, 15, 21, 33, 41, 42, 54, 72], "clean": [6, 7, 24, 28, 36, 45], "memori": [6, 9, 17, 24, 29, 31, 33, 37, 38, 64], "cleanli": 6, "specifi": [6, 10, 11, 12, 13, 15, 16, 21, 24, 41, 43, 44, 48, 51, 53, 56, 67, 68, 72, 77, 78], "end": [6, 7, 8, 10, 11, 15, 16, 24, 29, 31, 33, 34, 36, 39, 42, 46, 68], "fastest": 6, "grace": 6, "checkpoint": [6, 11], "itself": [6, 11, 14, 15, 21, 37, 41, 53, 60, 63], "introduc": [6, 22, 34, 40], "One": [6, 13, 15, 22, 51], "intefac": 6, "synchron": [6, 12, 23], "directori": [6, 24, 29, 30, 36, 44, 47, 53, 58, 69, 72, 79], "src": [6, 27, 44, 53, 72, 79], "subdirectori": [6, 29], "cmake": [6, 43, 47, 54], "ocninit": [6, 54], "ocnrun": [6, 54], "ocnfin": [6, 54], "resid": [6, 37], "flux": [6, 15, 26, 33, 39, 56, 76], "mct": 6, "moab": 6, "individu": [6, 8, 10, 14, 21, 24, 31, 37, 43, 45, 68, 79], "master": [6, 45, 57], "mpi_comm_world": [6, 13], "instant": [6, 21, 49, 51, 77], "await": 6, "mpicomm": [6, 16], "comm": [6, 13, 16, 36, 41, 45, 48], "timeinst": [6, 11, 36, 52, 68], "out": [6, 8, 11, 15, 21, 24, 32, 35, 36, 38, 41, 53, 72, 79], "sim": [6, 14], "timeinterv": [6, 52], "runinterv": 6, "currstat": 6, "arg": [6, 7], "success": [6, 8, 11, 13, 14], "stage": [6, 14, 15, 17, 22, 52, 54, 72, 73, 78], "especi": [6, 13, 37], "currtim": [6, 21, 36], "inout": 6, "alarm": [6, 11, 36, 42, 52, 77], "endalarm": [6, 36, 52], "ring": [6, 21, 36, 51, 52], "reach": [6, 21, 31], "write": [6, 7, 14, 15, 26, 31, 34, 36, 37, 41, 42, 47, 67, 68, 69], "restart": [6, 9, 14, 15, 36, 37, 42, 68, 78], "dealloc": [6, 24, 32, 39, 42, 46], "With": [6, 24, 30, 37], "subject": 6, "chang": [6, 10, 12, 21, 24, 28, 31, 37, 47, 51, 58, 77], "argc": 6, "char": [6, 21], "argv": 6, "mpi_init": 6, "log_error": [6, 7, 12, 24, 53, 69], "isring": [6, 21, 51], "task": [6, 10, 12, 23, 29, 33, 37, 38, 39, 41, 45, 67, 70], "err2": [6, 53], "erral": 6, "ab": 6, "log_info": [6, 12, 69], "successfulli": [6, 72], "termin": [6, 7, 15, 31], "due": [6, 12], "smoke": 6, "suit": [6, 15, 22], "inher": 6, "regularli": [6, 8, 38, 64], "critic": [7, 12, 31, 69], "facil": 7, "manner": [7, 8, 12, 22, 31, 58], "readabl": [7, 22, 23], "understand": [7, 35], "path": [7, 11, 29, 41, 44, 47, 60, 68, 72], "taken": [7, 15], "leverag": [7, 57], "hierarchi": [7, 23, 31], "debug": [7, 12, 24, 29, 40, 53, 68, 69, 79], "handler": 7, "canon": 7, "caus": [7, 12, 22, 69], "still": [7, 11, 14, 16, 24, 37, 73, 77], "crash": [7, 47], "latter": [7, 21, 24, 31, 37, 70], "incorrect": [7, 12, 69], "unintend": 7, "consid": [7, 11, 15, 47], "reserv": 7, "back": [7, 10, 15, 16, 48], "judg": 7, "creation": [7, 21, 34, 45, 54, 55, 63, 71, 75], "treat": [7, 21, 37], "promot": [7, 32], "sent": [7, 8, 13, 57], "know": [7, 13, 41], "equal": [7, 12, 21, 33, 67, 77], "interpret": [7, 72], "ideal": [7, 15, 21, 24, 72], "immedi": [7, 12, 69], "among": [7, 21, 35, 38, 39, 51, 57, 64, 65, 76], "sign": [7, 15], "nomin": 7, "impair": 7, "uniqu": [7, 10, 11, 21, 37, 62, 68], "spdlog": [7, 12, 44, 69], "cpptrace": 7, "condens": 7, "pattern": [7, 12, 47, 67], "constexpr": [7, 14], "denot": [7, 11, 12, 15, 34, 41, 44], "hold": [7, 8, 10, 13, 14, 21, 33, 41, 61, 63], "allcod": 7, "section": [7, 10, 11, 15, 23, 24, 31, 42, 53, 63, 68, 74, 77, 78], "error_crit": 7, "errcod": 7, "errmsg": 7, "placehold": [7, 72], "noth": [7, 14], "predefin": [7, 12, 15], "definecod": 7, "final": [7, 14, 15, 21, 29, 31, 32, 33, 34, 39, 41, 42, 45, 46, 51, 52, 54, 60, 67], "condit": [7, 15, 17, 18, 22, 24, 31], "myfailcondit": 7, "mysimplemessag": 7, "myvarnam": 7, "definedcod": 7, "myfunct": 7, "error_requir": 7, "msg": 7, "error_assert": 7, "express": [7, 22], "evalu": [7, 15, 25, 40], "alwai": [7, 8, 10, 15, 22, 37], "assert": 7, "behav": [7, 31], "error_check": 7, "error_warn": 7, "unlik": [7, 10, 11, 68], "log_warn": [7, 12, 69], "error_return": 7, "returncod": 7, "error_return_warn": 7, "statement": [7, 18], "myerrmsg": 7, "equival": [7, 13, 21], "error_sum": 7, "errsum": 7, "recent": [7, 15, 22], "care": 7, "confust": 7, "complement": 7, "version": [7, 15, 16, 21, 24, 29, 37, 44, 54, 66, 69, 72, 77], "cleanup": 7, "abnorm": 7, "will_fail": 7, "properti": [7, 10, 11, 21, 24, 37], "inspect": [7, 13, 23], "e": [8, 9, 14, 15, 18, 24, 29, 43, 47, 48, 51, 53, 65, 79], "accomplish": [8, 21, 60, 64], "dimension": [8, 14, 24, 32, 33, 34, 53], "compos": [8, 15], "three": [8, 10, 13, 15, 24, 29, 36, 45, 51, 60, 72], "concurr": [8, 12], "mpi_isend": [8, 38], "mpi_irecv": [8, 38], "mpi_test": 8, "track": [8, 10, 12, 14, 15, 21, 23, 25, 45, 49, 51, 52, 62, 69, 77], "sole": 8, "awar": [8, 13, 41, 67], "want": [8, 11, 13, 30, 47, 68, 72, 78], "oppos": 8, "latenc": [8, 16], "advantag": [8, 15], "circumst": 8, "carri": [8, 11, 24, 36, 38, 53, 79], "safe": [8, 12], "largest": 8, "realloc": 8, "activ": [8, 12, 13, 15, 16, 23, 24, 30, 47], "index": [8, 9, 11, 14, 15, 17, 24, 26, 28, 33, 34, 38, 40, 48, 50, 53, 60, 64, 71, 79], "decomp": [8, 10, 17, 34, 38, 39, 41, 46, 54, 64, 65], "about": [8, 9, 10, 12, 15, 21, 30, 33, 41, 69], "meshel": [8, 38], "oncel": [8, 38], "onedg": [8, 38], "onvertex": [8, 38], "datatyp": [8, 31, 38, 54], "mpi_realkind": 8, "mpi_datatyp": 8, "mpi_float": 8, "mpi_doubl": 8, "exchlist": [8, 38], "offset": [8, 34, 41], "nlist": 8, "ntot": 8, "friend": [8, 10, 21], "progress": [8, 12, 69], "recast": 8, "preserv": [8, 15, 24], "reinterpret_cast": 8, "rankid": 8, "sendlist": 8, "recvlist": 8, "sendbuff": 8, "recvbuff": 8, "rreq": 8, "sreq": 8, "total": [8, 13, 15, 21, 22, 23, 24, 33, 47, 53, 60, 65, 67, 72], "subordin": 8, "access": [8, 10, 11, 12, 21, 23, 24, 33, 39, 41, 42, 46, 51, 53, 67, 79], "nnghbr": 8, "myrank": [8, 13], "mpi_comm": [8, 36, 45, 48], "mycomm": 8, "elemtyp": 8, "declar": [8, 27, 38], "instanc": [8, 11, 12, 13, 14, 21, 25, 31, 34, 38, 40, 42, 46, 49, 50, 52, 55, 71, 75], "indecomp": 8, "inenv": 8, "exchangefullarrayhalo": [8, 38, 64], "locat": [8, 10, 11, 14, 15, 23, 24, 26, 27, 29, 32, 33, 34, 37, 41, 44, 47, 53, 64, 72, 79], "fetch": [8, 47], "catch": 8, "likewis": [8, 15], "subprocess": 8, "arraylocddtt": 8, "funciton": 8, "loc": 8, "dd": [8, 11, 16, 21, 23, 48, 51], "tt": [8, 16, 32, 48], "doc": [8, 28, 35, 43], "tranfer": 8, "startrec": [8, 38], "loop": [8, 13, 14, 23, 24, 31, 33, 34, 36, 37, 40, 42, 50, 76], "startsend": [8, 38], "arrayddtt": 8, "packbuff": [8, 38], "ineighbor": 8, "multidimension": 8, "unpackbuff": [8, 38], "discret": [9, 20, 35, 65, 66], "govern": 9, "compat": [9, 41, 57, 67], "Not": 9, "g": [9, 14, 15, 18, 24, 29, 43, 47, 48, 51, 53, 65, 79], "loncel": [9, 15, 65], "latcel": [9, 15, 65], "explicitli": [9, 13, 15, 37, 41, 68], "connect": [9, 15, 33, 39, 47, 60, 65], "spatial": [9, 15, 22], "split": 9, "baroclin": [9, 60], "frequenc": [9, 10, 11, 12, 42, 68], "subcycl": 9, "wide": [9, 12, 29], "halo": [9, 15, 17, 24, 33, 34, 41, 46, 52, 53, 54, 60, 71], "areacel": [9, 15, 20, 26, 32, 39, 65], "weightsonedg": [9, 15, 65], "avail": [9, 11, 12, 15, 17, 22, 23, 24, 26, 28, 29, 30, 31, 32, 34, 37, 42, 45, 47, 56, 58, 67, 72, 76, 78], "instead": [9, 16, 24, 32, 37, 42, 43, 78], "spread": [9, 67], "amongst": 9, "program": [9, 12, 29], "practic": [9, 14, 15, 72], "post": [9, 10, 24, 67], "checksum": 9, "situat": [9, 11], "mismatch": 9, "deriv": [9, 15, 70], "reciproc": 9, "side": [9, 15, 22, 29], "explicit": [9, 14], "array1dr8": [9, 12, 20, 26, 39], "hostarray1dr8": 9, "areacellh": [9, 39], "hostarray2di4": 9, "cellsoncellh": [9, 33], "releas": [9, 17, 29, 30, 47, 54, 58], "resons": 9, "repsons": 9, "createdevicemirrorcopi": [9, 39], "constrctor": 9, "filesystem": 10, "interact": [10, 14, 51, 72], "layer": [10, 15, 17, 19, 22, 24, 31, 33, 36, 41, 49, 50, 52, 54, 56, 67, 76], "underli": [10, 13, 41, 67], "scorpio": [10, 41, 47, 67], "directli": [10, 13, 15, 24, 26, 34, 41, 47, 51, 53, 64], "hdf5": [10, 41, 67], "altern": [10, 15, 23, 32, 45, 51], "script": [10, 28, 47, 58, 72], "adio": [10, 41, 67], "arbitrari": [10, 11, 14, 21, 31, 62], "solut": [10, 14, 17, 22, 46, 78], "maxim": [10, 13], "bandwidth": 10, "spent": [10, 23], "architectur": [10, 16, 24, 45, 60], "stride": [10, 13, 41, 45], "move": 10, "overwrit": [10, 11, 13, 41], "append": [10, 11, 12, 39, 41, 46, 68], "launch": [10, 13, 23, 36, 70, 72], "resum": 10, "mask": [10, 16, 48], "cost": [10, 40, 67], "appli": [10, 11, 15, 16, 24], "lossless": 10, "rearrang": [10, 13, 41, 60, 67], "layout": [10, 12, 29, 70], "built": [10, 29, 31, 32, 42, 44, 45, 47, 59, 69, 72], "compon": [10, 12, 13, 14, 21, 23, 28, 29, 30, 35, 36, 44, 47, 54, 66], "represent": [10, 51], "overal": [10, 15, 23, 41], "iotask": [10, 67], "iostrid": [10, 67], "iorearrang": [10, 67], "box": [10, 41, 67], "safeti": [10, 67], "core": [10, 12, 13, 15, 27, 60], "unknown": [10, 37, 41], "iofileformat": 10, "pnetcdf": [10, 29], "netcdf4": [10, 41, 67], "pnetcdf5": 10, "iomod": [10, 11], "ioifexist": [10, 11], "ioprecis": [10, 11], "pio": 10, "ioenv": 10, "shared_ptr": [10, 11, 14, 23, 34, 37, 53], "definedenv": 10, "ioformat": 10, "ptr": [10, 21], "iosystem": 10, "dim": [10, 34, 37], "decompcell1di4": 10, "decompcell1dr4": 10, "decompcell1dr8": 10, "decompcell2di4": 10, "decompcell2dr4": 10, "decompcell2dr8": 10, "iofield": [10, 11, 24, 26, 46, 71], "definedfield": 10, "metaptr": 10, "array1di4": [10, 20, 26, 37], "data1di4": 10, "hostarray1di4": [10, 33, 34, 37], "datahost1di4": 10, "overridden": 10, "basi": [10, 11, 15, 21], "env": [10, 13, 47, 72], "omegaenv": [10, 13], "omegadecomp": 10, "ifexist": [10, 11, 41, 68], "iofileopen": 10, "fileid": [10, 41], "filenam": [10, 12, 23, 31, 41, 60, 68], "myenv": 10, "iofileclos": 10, "aggreg": 10, "iowrit": 10, "ioread": 10, "fieldmeta": [10, 63], "attach": [10, 14, 21, 36, 37, 41, 42, 46, 51, 52, 63], "attachdata": [10, 37], "period": [11, 15, 21, 36, 51, 68], "reli": 11, "companion": 11, "exactli": [11, 15, 16, 21], "mechan": [11, 12, 24, 68], "last": [11, 15, 58, 68], "monthli": [11, 21, 51], "short": [11, 14, 18, 37, 68], "how": [11, 12, 15, 16, 41, 47, 57, 72], "reflect": [11, 23], "convent": [11, 12, 21, 37, 46, 47, 63], "higher": [11, 12, 15, 31, 60], "re": [11, 52], "portion": [11, 15, 16, 23, 45, 51, 52, 65, 70, 77, 78], "accumul": [11, 16, 19, 23, 51, 52, 75], "elsewher": [11, 24, 32, 34, 37, 58], "longer": [11, 15, 19, 21, 24, 41, 67, 78], "lossi": 11, "loss": [11, 12, 69], "probabl": 11, "charact": [11, 21, 41, 51, 62, 68], "quot": 11, "mypath": 11, "meshfilenam": [11, 60], "frequnit": [11, 68], "freq": [11, 68], "grpmesh": 11, "pointerfilenam": [11, 68], "grprestart": 11, "year": [11, 15, 21, 51, 62, 68, 77, 78], "histori": [11, 68], "month": [11, 21, 51, 62, 68, 77, 78], "temperatur": [11, 15, 24, 32, 53, 79], "salin": [11, 15, 24, 53, 79], "dai": [11, 21, 51, 62, 68, 77, 78], "annual": [11, 21], "highfreq": [11, 68], "startdat": 11, "yyyi": [11, 23, 62, 68, 78], "mm": [11, 21, 23, 51, 62, 68, 78], "enddat": 11, "stdlib": [11, 23], "risk": 11, "inadvert": 11, "conflict": [11, 24], "namespac": [11, 32, 41], "capit": [11, 65], "instanti": [11, 13], "salarm": 11, "mgr": 11, "usepoint": 11, "flag": [11, 12, 15, 21, 23, 29, 30, 32, 34, 35, 59, 68, 76], "ptrfilenam": 11, "usestartend": [11, 68], "endtim": [11, 52, 68], "numstream": 11, "allstream": 11, "scalar": [11, 14, 15, 16, 21, 37, 41, 45, 48, 74], "And": [11, 33], "remov": [11, 31, 33, 34, 37, 42, 45, 47, 54, 68], "streamid": 11, "action": [11, 31, 43], "pointerfil": 11, "date": [11, 21, 51, 68], "faster": [11, 30], "addfield": [11, 14, 37], "fieldnam": [11, 37], "streamnam": [11, 42], "reset": [11, 13, 21, 42, 51], "writeal": [11, 42], "attempt": 11, "span": [11, 15], "march": [11, 21, 51], "offer": [12, 44, 57, 72], "api": [12, 37, 54], "event": [12, 51], "runtim": 12, "compris": [12, 15], "along": [12, 15, 24, 34, 36, 50], "furnish": 12, "onto": 12, "recogn": [12, 47], "independ": [12, 15, 16], "simultan": 12, "excess": [12, 33], "inconsist": 12, "crucial": 12, "captur": [12, 37], "effect": [12, 27, 44], "troubleshoot": 12, "unbuff": [12, 29], "overhead": 12, "unwritten": 12, "lead": [12, 47], "confus": 12, "choos": [12, 21, 24], "instal": [12, 43, 47, 54, 72], "switchabl": 12, "accommod": [12, 14, 27, 44], "unstructur": [12, 14, 54, 60], "text": [12, 15], "tailor": 12, "transport": [12, 24, 78], "email": 12, "databas": 12, "thisfunction": 12, "analyz": [12, 69], "channel": 12, "logger": [12, 54], "granular": [12, 23], "target": [12, 57], "rich": 12, "highli": 12, "regard": 12, "industri": 12, "comprehens": 12, "softwar": [12, 41, 47, 67], "omega_log_level": [12, 29], "trace": [12, 69], "increas": 12, "destin": 12, "furthermor": [12, 44], "omega_log_pattern": 12, "strftime": 12, "omega_log_task": [12, 29], "comma": [12, 58], "dash": [12, 58], "macro": [12, 54, 69], "guarante": [12, 32, 59, 67], "log_": [12, 44], "log_crit": [12, 69], "attent": [12, 69], "failur": [12, 14, 33, 69], "instabl": [12, 69], "necessarili": [12, 69], "log_debug": [12, 69], "down": [12, 15, 69], "log_trac": [12, 69], "deep": [12, 69], "analysi": [12, 14, 24, 69], "enhanc": [12, 44], "demonstr": [12, 15, 57], "coverag": 12, "dedic": 12, "startup": [13, 68], "hardwar": [13, 15, 41, 67], "kernel": [13, 15, 23], "cpu": [13, 22, 23, 32, 37, 45, 47, 70], "friendli": 13, "sometim": [13, 15, 37, 67], "solv": [13, 22], "fewer": 13, "network": [13, 41, 67], "topologi": 13, "placement": 13, "openmp": [13, 16, 29, 45, 70], "acceler": [13, 15, 32, 76], "hybrid": [13, 23], "easi": [13, 35, 37], "perhap": 13, "omega_vector_s": 13, "16": 13, "mcomm": 13, "mmyrank": 13, "mnumrank": 13, "mmasterrank": 13, "mismast": 13, "defaultenv": [13, 16], "earli": [13, 33, 42, 51, 52, 54, 70, 73], "machenvinit": 13, "incommun": 13, "contigu": [13, 24, 41, 45, 67], "newsiz": [13, 45], "begin": [13, 15, 16, 17, 31, 34, 44, 45, 65], "incl": 13, "custom": [13, 21, 49, 51, 54, 57, 62, 68, 77], "old": [13, 30], "numrank": 13, "ismast": 13, "setmast": 13, "newmasterrank": 13, "soon": [13, 15], "assum": [13, 15, 16, 21, 23, 24, 29, 30, 37, 39, 41, 46, 68, 72], "leav": [13, 47], "wrong": 13, "visual": [13, 15, 23, 47], "nativ": [13, 15, 21, 32, 37, 41, 67], "preprocessor": [13, 23, 32, 59], "propag": 13, "self": [14, 41, 67], "archiv": 14, "proven": [14, 31, 37, 58, 63], "particularli": [14, 15], "disk": [14, 30], "extend": [14, 15, 16, 21, 46, 52], "climat": [14, 15, 37, 47, 63], "forecast": [14, 37, 63], "http": [14, 30, 35, 47, 54], "cfconvent": 14, "org": 14, "compli": 14, "_fillvalu": 14, "valid": [14, 15, 24, 33, 37, 42, 47, 48, 53, 79], "min": [14, 15, 21, 23, 24, 37, 48, 53, 74, 79], "definit": [14, 18, 42, 53, 79], "extent": 14, "coordin": [14, 15, 21, 39, 65], "fix": [14, 15, 16, 28, 37, 43, 47, 78], "unlimit": [14, 37], "seri": 14, "shorthand": 14, "meshfield": 14, "prognosticvar": 14, "shorten": 14, "philosophi": 14, "codemeta": [14, 37, 63], "simmeta": [14, 37], "stamp": [14, 68], "categori": [14, 22], "anywher": 14, "protect": 14, "metamap": 14, "allfield": 14, "arraymetadata": 14, "inherit": [14, 52], "stdname": [14, 24, 37], "validmin": [14, 24, 37], "validmax": [14, 24, 37], "fillvalu": [14, 24, 37, 41], "entri": [14, 16, 23, 24, 31, 37, 41, 53, 58, 68, 79], "ndim": [14, 37, 41], "alldim": 14, "metagroup": 14, "allgroup": 14, "don": [14, 15], "sens": 14, "thrown": 14, "kei": [14, 24, 27, 31, 47, 54, 58, 68], "initializer_list": 14, "metapair": 14, "emtpi": 14, "additiion": 14, "previous": [14, 37, 40, 45, 47], "addentri": 14, "metanam": [14, 37, 41], "usual": [14, 21, 37, 41, 51, 72], "symmetri": 14, "rare": 14, "removeentri": 14, "getentri": 14, "iter": [14, 31, 34], "auto": [14, 24, 31, 32, 34, 40, 50, 53], "varmeta": 14, "getallentri": 14, "metav": 14, "meta": 14, "whatev": 14, "any_cast": [14, 37], "retcod": 14, "getlength": 14, "mylength": 14, "hasentri": 14, "grp": 14, "removefield": [14, 37], "mygroup": [14, 37], "fieldmap": 14, "getallfield": 14, "tabl": [15, 18, 22, 24, 47, 65, 69], "thuburn": 15, "et": 15, "al": 15, "2009": 15, "modern": 15, "exascal": 15, "nearli": 15, "trott": 15, "2022": 15, "feed": [15, 27], "dynam": [15, 24, 29, 78], "pressur": 15, "ringler": 15, "2010": 15, "stand": 15, "alon": 15, "primit": 15, "eddi": [15, 54], "permit": [15, 21, 22], "densiti": [15, 65], "veloc": [15, 17, 19, 26, 49, 52, 56, 66, 76], "scheme": [15, 17, 24, 40, 52, 60, 66, 78], "2013": 15, "suffici": [15, 31, 68], "v1": 15, "petersen": 15, "2019": 15, "impli": [15, 21, 24, 57], "clariti": [15, 24, 47], "eqn": 15, "redund": [15, 33], "boundari": [15, 21, 51], "slip": 15, "had": 15, "darren": 15, "engwirda": 15, "github": [15, 30, 35, 43, 47, 54], "discuss": [15, 43], "alter": 15, "effort": 15, "aust": 15, "calandrini": 15, "2021": 15, "averag": [15, 16, 21, 26, 56], "team": [15, 28, 54], "data": [15, 26, 27, 31, 36, 37, 41, 42, 44, 45, 46, 48, 50, 52, 53, 54, 58, 63, 64, 67, 69, 71, 74, 76, 79], "substanti": 15, "invest": 15, "made": [15, 28], "speed": 15, "upcom": 15, "pde": [15, 39, 40, 46], "solver": [15, 16, 39, 40, 46], "platform": 15, "cuda": [15, 29, 72], "openacc": 15, "pragma": 15, "yakl": 15, "norman": 15, "2023": 15, "hip": [15, 29, 72], "special": [15, 16, 24, 37, 44, 63], "simpler": 15, "front": 15, "scientist": 15, "qu240": 15, "tangenti": [15, 66], "explain": [15, 53], "absenc": 15, "uniform": 15, "assess": 15, "metric": [15, 22, 23], "scalabl": [15, 22], "count": [15, 16, 21, 22, 39], "item": [15, 22, 68], "bishnu": 15, "disabl": [15, 20, 43, 76], "perlmutt": 15, "nersc": 15, "128": 15, "amd": 15, "epyc": 15, "7763": 15, "nvidia": [15, 47], "a100": 15, "factor": 15, "previou": [15, 21, 22, 24, 46, 53], "conduct": [15, 38], "obtain": [15, 17, 22, 25, 49, 52, 72], "julia": 15, "mass": 15, "rotat": [15, 56], "frame": 15, "textbook": 15, "geophys": [15, 54], "fluid": [15, 24, 53, 79], "valli": 15, "2017": 15, "cushman": 15, "roisin": 15, "becker": 15, "2011": 15, "pedloski": 15, "1987": 15, "gill": 15, "2016": 15, "frac": [15, 21, 22], "partial": [15, 22], "boldsymbol": [15, 22], "left": [15, 17, 22, 29], "cdot": 15, "nabla": 15, "right": [15, 22, 29, 47], "f": [15, 21, 43, 56], "b": [15, 18, 47, 69], "hspace": [15, 22], "1cm": [15, 22], "hand": [15, 22], "perp": 15, "q": 15, "nu_2": 15, "nu_4": 15, "mathcal": [15, 22], "phi": [15, 22], "kappa_2": 15, "kappa_4": 15, "viscou": 15, "ra": [15, 22], "c_d": 15, "c_w": 15, "_w": 15, "spin": 15, "quadrat": 15, "lilli": 15, "corioli": [15, 56, 65], "area": [15, 16, 22, 32, 65], "drop": 15, "prognost": [15, 24, 46, 71], "passiv": 15, "prepar": 15, "uniformli": [15, 22], "weight": [15, 22, 26, 56, 65, 76], "kg": 15, "concentr": [15, 22, 24], "divid": [15, 21, 22, 36, 38, 52, 56], "chemic": [15, 24, 53, 79], "mmol": 15, "psu": [15, 24, 53, 79], "appendix": 15, "expans": 15, "2024": 15, "chapter": 15, "weller": 15, "2012": 15, "cotter": 15, "lapolli": 15, "u_": 15, "f_v": 15, "h_i": 15, "_v": 15, "_e": 15, "b_i": 15, "k_i": 15, "phi_i": 15, "subscript": [15, 22], "squar": [15, 58], "bracket": [15, 58], "vari": [15, 21, 23, 37], "posit": [15, 21, 24], "90": 15, "bf": 15, "u_w": 15, "symbol": 15, "a_i": 15, "polygon": 15, "p_i": 15, "bar": 15, "_": [15, 22, 29, 47], "rectangl": 15, "l_e": 15, "d_e": 15, "hat": 15, "triangl": [15, 65], "dual": [15, 65], "d_v": 15, "tild": 15, "kite": 15, "x_v": 15, "x_c": 15, "po": 15, "bottomdepth": [15, 65], "bathymetri": 15, "stress": 15, "distanc": [15, 65], "dcedg": [15, 26, 65], "paramet": [15, 29, 31, 35, 45, 48, 56, 58, 60, 62, 64, 65, 67, 68, 70, 76], "fvertex": [15, 65], "gravit": [15, 76], "unitless": 15, "dvedg": [15, 20, 26, 65], "n_": 15, "edgesignoncel": [15, 20, 26], "eta": 15, "t_": [15, 22], "edgesignonvertex": 15, "verticesonedg": [15, 33, 65], "perp_": 15, "tangentialveloc": 15, "w_": 15, "24": 15, "w": 15, "tfrac": 15, "l_": 15, "absolut": [15, 21], "biharmon": [15, 76], "viscos": [15, 76], "rel": [15, 68, 72], "relativevort": 15, "geometr": 15, "type": [15, 27, 29, 31, 36, 37, 38, 41, 42, 43, 44, 47, 48, 54, 58, 62, 64, 69], "x_i": 15, "primal": 15, "xcell": [15, 65], "ycell": [15, 65], "zcell": [15, 65], "x_e": 15, "xedg": [15, 65], "yedg": [15, 65], "zedg": [15, 65], "lonedg": [15, 65], "latedg": [15, 65], "xvertex": [15, 65], "yvertex": [15, 65], "zvertex": [15, 65], "lonvertex": [15, 65], "latvertex": [15, 65], "segment": [15, 78], "areatriangl": [15, 65], "figur": 15, "ec": 15, "edgesoncel": [15, 20, 26, 33, 60], "ev": 15, "edgesonvertex": [15, 33, 60], "ce": 15, "cv": 15, "cellsonvertex": [15, 33, 60, 65], "ve": 15, "vc": 15, "verticesoncel": [15, 33, 60], "ecp": 15, "edgesonedg": [15, 33, 60, 65], "evc": 15, "show": [15, 47, 57, 68], "hexagon": 15, "grid": [15, 65], "regain": 15, "nonuniform": 15, "f_e": 15, "21": [15, 29, 72], "_i": 15, "equiv": 15, "sum_": 15, "outward": 15, "inward": 15, "notat": 15, "surround": 15, "substitut": 15, "d_i": 15, "22": 15, "opt": [15, 30, 37], "h_": 15, "i2": 15, "i1": 15, "i_1": 15, "i_2": 15, "23": 15, "neg": [15, 21, 24, 34, 53], "contribut": [15, 33, 76], "direct": [15, 22, 24, 54, 65], "toward": 15, "x": [15, 33], "summat": 15, "voronoi": 15, "tessel": 15, "quadrilater": 15, "unless": [15, 30, 32, 59], "miss": [15, 23], "land": 15, "middl": 15, "carefulli": 15, "tangent": 15, "multipli": [15, 16, 21, 76], "ratio": 15, "thu": [15, 24], "revis": 15, "seen": 15, "subroutin": 15, "ocn_diagnostic_solve_vortvel": 15, "mpas_ocn_diagnost": 15, "omega_v": 15, "rewrit": 15, "omega_": [15, 29], "v2": 15, "v_1": 15, "v_2": 15, "mid": 15, "adjoin": 15, "formula": [15, 21], "live": 15, "done": [15, 30, 37, 38, 45, 46], "h_v": 15, "That": [15, 16], "radial": 15, "now": [15, 31, 35, 41, 46, 51, 65, 73], "fundament": [15, 51], "63": 15, "48": 15, "footnot": 15, "half": 15, "k_v": 15, "kineticenergyvertex": 15, "config_include_ke_vertex": 15, "enlarg": 15, "stencil": 15, "q_v": 15, "cancel": 15, "b_": 15, "laplacian": [15, 56, 76], "mention": [15, 37, 40, 41], "gassmann": 15, "17": 15, "gassman": 15, "2018": 15, "44": 15, "i_i": 15, "damp": 15, "adjust": [15, 21], "project": [15, 21, 29, 35, 47, 54, 72], "upstream": 15, "fourth": [15, 52, 78], "monoton": [15, 24], "question": 15, "midpoint": [15, 52, 78], "rule": [15, 58], "wider": 15, "skamarock": 15, "fact": [15, 47], "product": [15, 54, 67], "twice": 15, "auxiliari": [15, 19, 46, 49, 52, 54], "sine": 15, "cartesian": [15, 65], "regular": 15, "2nd": 15, "1st": [15, 51], "threshold": 15, "earliest": 15, "dycor": [15, 65], "subsum": 15, "harmon": 15, "analyt": 15, "hyun": 15, "kang": 15, "doubli": 15, "11": [15, 21, 65], "15": [15, 24, 53, 79], "autom": [15, 31, 36, 47], "13": [15, 47], "19": 15, "williamson": 15, "1992": 15, "lauritzen": 15, "resembl": 15, "relationship": 15, "bound": 15, "100": [15, 24, 47, 53, 72, 79], "64x64": 15, "512x512": 15, "scale": [15, 22], "4096": 15, "close": [15, 31, 35, 41], "perfect": 15, "theoret": 15, "pal": 15, "aquaplanet": 15, "flat": 15, "measur": 15, "stommel": 15, "gyre": 15, "qualit": 15, "isol": 15, "atlant": 15, "basin": 15, "circul": 15, "cannot": [15, 21, 31, 77], "steadi": 15, "unstabl": 15, "jet": 15, "galewski": 15, "2003": 15, "j": [15, 16, 20, 21], "introduct": 15, "academ": 15, "press": 15, "atmospher": 15, "elsevi": 15, "vol": 15, "710": 15, "springer": 15, "cambridg": 15, "univers": [15, 21], "maximum": [16, 23], "arithmet": [16, 21, 24], "dot": 16, "reason": [16, 18, 22, 24], "benefici": [16, 23], "relax": 16, "callabl": [16, 49], "esp": 16, "respect": [16, 24, 29, 37, 51, 53], "minloc": 16, "maxloc": 16, "straightforward": 16, "ddpdd": 16, "donald": 16, "knuth": 16, "further": [16, 31, 37, 44, 63], "david": 16, "bailei": 16, "outlin": [16, 22, 24], "he": 16, "ding": 16, "2001": 16, "supercomput": 16, "18": 16, "259": 16, "robust": 16, "pat": 16, "worlei": 16, "reprosum": 16, "arrayttdd": [16, 48], "thru": 16, "globalsum": [16, 48], "indxrang": 16, "2x": [16, 48], "minlevelcel": 16, "maxlevelcel": 16, "absent": [16, 48], "array1": [16, 48], "array2": [16, 48], "align": 16, "slightli": [16, 40, 58, 68], "arrays1": [16, 48], "arrays2": [16, 48], "operand": 16, "varmin": 16, "globalminv": [16, 48], "cogniz": 16, "inact": 16, "random": 16, "thick": [17, 19, 22, 26, 49, 52, 56, 76], "progost": 17, "prior": [17, 21, 31, 41], "exchang": [17, 24, 46, 53, 54], "intermedi": [17, 37], "fulfil": 17, "array3dr8": 17, "defdecomp": [17, 33, 34], "clearli": 18, "justif": 18, "you": [18, 28, 30, 31, 32, 35, 43, 44, 47, 52, 57, 68, 69, 72], "math": 18, "latex": 18, "hi": 18, "2ab": 18, "involv": [19, 24, 29, 39, 71], "layerthicknesstend": 19, "normalvelocitytend": 19, "thicknessfluxdivoncel": [19, 50, 76], "thicknessfluxdiv": 19, "potentialvorthadvonedg": [19, 50, 76], "potientialvorthadv": 19, "kegradonedg": [19, 50, 76], "kegrad": 19, "sshgradonedg": [19, 50, 76], "sshgrad": 19, "velocitydiffusiononedg": [19, 50, 76], "velocitydiffus": 19, "velocityhyperdiffonedg": [19, 50, 76], "velocityhyperdiff": 19, "defaulttend": 19, "alltend": [19, 49], "functor": [19, 20, 40, 50, 75, 76], "computealltend": [19, 49], "auxilaryst": 19, "auxstat": [19, 25, 49, 52], "computethicknesstend": [19, 49], "computevelocitytend": [19, 49], "scope": [19, 32], "modular": [20, 52], "overrid": [20, 24, 72], "thicknessfluxdivergenceoncel": 20, "tend": [20, 49, 52], "icel": [20, 24, 26, 32, 40, 50, 53], "thicknessflux": 20, "nedgesoncel": [20, 26, 33, 39], "array2dr8": [20, 26, 37], "thicknessfluxtendencyen": [20, 76], "invareacel": [20, 32], "jedg": 20, "earth": [21, 56, 60], "kept": [21, 36], "leap": [21, 51, 62, 77, 78], "million": [21, 51], "drift": 21, "gregorian": [21, 51, 62, 77], "360": [21, 51, 62, 77], "elaps": [21, 51, 62], "sec": [21, 47, 72], "utc": 21, "yearli": 21, "trigger": [21, 29, 36, 51, 72], "paleoclim": 21, "digit": [21, 51, 58, 68], "era": 21, "bce": 21, "accept": [21, 31, 48, 68], "iso": [21, 51], "8601": 21, "decreas": 21, "yyyyyi": [21, 51], "hh": [21, 51], "ss": [21, 51, 62, 68, 78], "sssss": [21, 51], "variat": 21, "fraction": [21, 51], "esmf": 21, "julian": [21, 51, 62, 77], "noon": 21, "jan": [21, 51], "4713": 21, "beauti": 21, "mondai": 21, "fliegel": 21, "van": 21, "flandern": 21, "1968": 21, "657": 21, "hatcher": 21, "1984": 21, "quart": 21, "r": 21, "astr": 21, "soc": 21, "25": 21, "53": 21, "55": 21, "simplif": 21, "were": 21, "wrf": 21, "john": 21, "michalak": 21, "phil": 21, "jone": 21, "scidac": 21, "canga": 21, "timeunit": [21, 51], "minut": [21, 51, 68, 78], "hour": [21, 51, 68, 78], "num_supported_calendar": 21, "9": [21, 47], "calendarkind": [21, 51], "calendargregorian": [21, 51], "calendarnoleap": [21, 51], "yr": [21, 51], "calendarjulian": [21, 51], "calendarjuliandai": [21, 51], "calendarmodjuliandai": [21, 51], "calendar360dai": [21, 51], "12": [21, 51, 62], "calendarcustom": [21, 51], "calendarnocalendar": [21, 51], "calendarunknown": [21, 51], "uniniti": [21, 51], "invalid": [21, 24, 45, 51], "calendarkindnam": [21, 51], "calendar_kind_count": 21, "six": [21, 51], "whole": [21, 51], "numer": [21, 22, 51, 62, 66, 68, 78], "denom": [21, 51], "denomin": [21, 51], "months_per_year": 21, "numcalendar": 21, "calkind": 21, "kind": [21, 51], "calkindnam": 21, "characterist": [21, 59], "dayspermonth": 21, "monthsperyear": 21, "secondsperdai": 21, "secondsperyear": 21, "daysperyear": 21, "elapsedtim": 21, "calptr": 21, "ndai": 21, "iscalendar": 21, "calinterv": 21, "stop": [21, 51, 52, 78], "ringtim": 21, "ringinterv": 21, "ringtimeprev": 21, "statu": [21, 36, 42, 51], "prevtim": [21, 24], "nexttim": 21, "numalarm": 21, "accessor": [21, 51], "sethm": 21, "setsecond": 21, "sethour": 21, "setminut": 21, "setwhol": 21, "setnum": 21, "setdenom": 21, "gethm": 21, "getsecond": 21, "gethour": 21, "getminut": 21, "getwhol": 21, "getnum": 21, "getdenom": 21, "greater": 21, "subtract": 21, "increment": [21, 24, 53], "decrement": 21, "divisor": 21, "modulu": 21, "immut": [21, 51], "queri": [21, 37], "renam": [21, 47], "innam": 21, "outid": 21, "outnam": 21, "outkind": 21, "outdayspermonth": 21, "outmonthsperyear": 21, "outsecondsperdai": 21, "outsecondsperyear": 21, "outdaysperyear": 21, "dpy": [21, 51], "indayspermonth": [21, 51], "insecondsperdai": [21, 51], "insecondsperyear": [21, 51], "indaysperyear": [21, 51], "isleapyear": 21, "rc": 21, "getelapsedtim": 21, "getdatetim": 21, "ref": [21, 63], "sensit": 21, "incrementd": 21, "basic": [21, 24, 35, 40, 45, 54, 57, 66, 69], "cal": 21, "rsecond": 21, "ssssss": 21, "decim": [21, 51], "getstr": [21, 51], "yearwidth": 21, "secondwidth": 21, "varieti": 21, "mathemat": [21, 35], "ambigu": 21, "absvalu": 21, "negabsvalu": 21, "isposit": 21, "give": [21, 33, 35], "alarmtim": 21, "alarminterv": [21, 51], "intervalstart": 21, "updatestatu": 21, "currenttim": [21, 51], "intim": 21, "newnam": 21, "getnam": [21, 31, 37, 52], "setcurrenttim": 21, "changetimestep": [21, 51, 52], "newtimestep": [21, 51], "getcurrenttim": [21, 51], "getprevioustim": 21, "getnexttim": 21, "getstarttim": [21, 52], "gettimestep": [21, 52], "attachalarm": [21, 51], "inalarm": 21, "algebra": 21, "known": [21, 31, 32, 37, 66], "try": 21, "nmonth": 21, "daili": 21, "hourli": 21, "nhour": 21, "nminut": 21, "cover": [21, 23, 24, 35], "method": [22, 25, 31, 32, 36, 37, 38, 39, 41, 46, 49, 51, 57, 58, 60, 63, 71, 78], "differenti": [22, 27, 66], "come": [22, 50, 57], "tempor": 22, "omega0": 22, "accuraci": [22, 32, 59], "stabl": 22, "criteria": 22, "throughput": 22, "fashion": 22, "volum": 22, "manufactur": 22, "wind": 22, "tide": 22, "commonli": [22, 37, 63], "compet": 22, "consolid": 22, "_u": 22, "_h": 22, "delta": 22, "desir": [22, 37, 42, 44, 51, 58, 68, 70], "n_e": 22, "n_i": 22, "t_0": 22, "t_1": 22, "t_n": 22, "superscript": 22, "argu": 22, "violat": 22, "rung": [22, 52, 78], "kutta": [22, 52, 78], "rk4": [22, 52], "adam": 22, "bashforth": 22, "ab2": 22, "heun": 22, "rk2": 22, "converg": 22, "tau": 22, "phi_0": 22, "restor": 22, "exponenti": 22, "decai": 22, "intrins": 22, "avg": 23, "environ": [23, 27, 28, 34, 38, 43, 54, 64, 72], "tree": [23, 35], "human": 23, "summari": 23, "log": [23, 29, 47, 54, 68], "finer": 23, "fine": 23, "flop": 23, "op": 23, "cach": [23, 41, 67], "diagnos": 23, "bottleneck": 23, "papi": 23, "nice": 23, "mark": 23, "leak": 23, "fall": [23, 32], "assist": 23, "use_gptl": 23, "timer_level": 23, "blank": 23, "send": [23, 38, 57, 64], "timerfil": 23, "myfilenam": 23, "timernam": 23, "isrun": 23, "numcal": 23, "accumtim": 23, "child": 23, "parenttim": 23, "childtim": 23, "curtim": [23, 24], "calllevel": 23, "barrier": 23, "fenc": 23, "machenvnam": 23, "stdout": 23, "percentag": 23, "complianc": [23, 37], "heat": [24, 53, 79], "materi": [24, 53, 79], "parcel": [24, 53, 79], "salt": [24, 53, 79], "biolog": [24, 53, 79], "constitu": [24, 53, 79], "central": 24, "cf": [24, 37, 47, 53, 63, 79], "compliant": [24, 63], "belong": [24, 38], "intersect": 24, "evolv": [24, 36, 38], "evolut": 24, "array3dr": [24, 32, 53], "tracerarrai": [24, 49, 53], "swap": 24, "tracerdef": [24, 53, 54], "inc": [24, 53, 54], "indxtemp": [24, 53, 79], "indxsalt": [24, 53, 79], "sort": [24, 43], "temp": [24, 53, 79], "indxinvalid": [24, 53, 79], "inlin": [24, 53, 79], "indxmybgctrac": [24, 53, 79], "definealltrac": [24, 53, 79], "degree_c": [24, 53, 79], "sea_water_potential_temperatur": [24, 53, 79], "273": [24, 53, 79], "e33": [24, 53, 79], "undef": [24, 53, 79], "sea_water_salin": [24, 53, 79], "50": [24, 53, 79], "debug1": [24, 53, 79], "debug2": [24, 53, 79], "debug3": [24, 53, 79], "omit": [24, 37], "traceradv": 24, "someparamet": 24, "ecosi": 24, "mymonotonemethod": 24, "myadditionalopt": 24, "numtrac": 24, "hostarray3dr": [24, 32, 53], "tracerarraysh": [24, 53], "groupstartindex": 24, "grouplength": [24, 53], "tracergroup": 24, "tracerindex": [24, 53], "tracernam": [24, 53], "meshhalo": 24, "tracerdimnam": 24, "circular": 24, "exce": [24, 53], "curtimeindex": 24, "pack": [24, 38], "packtracerfieldnam": 24, "grammar": 24, "grouprang": [24, 53], "unpack": [24, 38, 53], "startindex": [24, 53], "parallelfor": [24, 33, 39, 40, 50, 53], "computegrouptend": [24, 53], "ncell": [24, 32, 33, 34, 37, 41, 53, 60], "nvertlay": [24, 53], "kokkos_lambda": [24, 33, 39, 40, 50, 53], "iindex": [24, 53], "ivert": [24, 53], "itrac": [24, 53], "unabl": 24, "cur": 24, "prev": 24, "artifici": [24, 77], "ismemb": [24, 45], "auxiliaryst": [25, 46, 54, 55], "class": [25, 31, 32, 33, 34, 37, 38, 40, 41, 42, 45, 46, 49, 50, 53, 54, 55, 61, 63, 64, 65, 66, 70, 71, 75, 76], "lifetim": [25, 49], "requir": [25, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 47, 49, 59, 63, 65, 68, 69, 72, 77], "defauxst": 25, "ntracer": [25, 41, 49], "newauxst": 25, "conveniec": 25, "light": 26, "kinet": [26, 56, 76], "energi": [26, 56, 76], "diverg": [26, 40, 56, 66, 76], "velocitydivcel": [26, 56], "addmetadata": [26, 37], "computevarsoncel": 26, "kineticenergycellnam": 26, "velocitydivcellnam": 26, "fluxthickedgeopt": 26, "grab": 26, "neccessari": 26, "helper": 26, "computevarsonvertex": 26, "ivertex": 26, "vortic": [26, 76], "doesn": 26, "velocitydiv": 26, "relvortvertex": [26, 56], "normrelvortvertex": [26, 56], "normplanetvortvertex": [26, 56], "normrelvortedg": [26, 56], "normplanetvortedg": [26, 56], "del2edg": 26, "del2divcel": 26, "del2relvortvertex": 26, "tracerauxvar": 26, "htracersedg": [26, 56], "del2tracerscel": [26, 56], "distinct": [27, 44], "design": [27, 29, 44, 50, 51, 60], "asynchron": [27, 57], "intric": 27, "seamlessli": [27, 44], "procedur": [28, 43], "conda": [28, 43, 54], "your": [28, 30, 43, 47, 69], "branch": [28, 30, 43, 47], "cd": [28, 30, 47], "html": 28, "open": [28, 41], "_build": 28, "browser": 28, "cmakelist": [29, 72], "txt": [29, 30, 47, 72], "consecut": 29, "drive": 29, "test": [29, 31, 34, 35, 41, 51, 54, 72, 77], "detect": 29, "resolv": [29, 54], "By": [29, 45, 64, 69], "e3sm_": 29, "temporari": [29, 47], "prefix": [29, 44], "underscor": 29, "omega_project_nam": 29, "omegaoceanmodel": 29, "omega_exe_nam": 29, "ex": [29, 72], "omega_lib_nam": 29, "omegalib": 29, "omega_build_mod": 29, "not_defin": 29, "omega_build_dir": 29, "omega_source_dir": 29, "omega_default_build_typ": 29, "omega_install_prefix": [29, 72], "omega_arch": [29, 72], "sycl": 29, "omega_cxx_compil": [29, 72], "omega_c_compil": 29, "omega_fortran_compil": 29, "omega_cime_compil": [29, 72], "config_machin": [29, 47, 72], "omega_cime_machin": [29, 72], "omega_cime_project": [29, 72], "slurm": [29, 72], "cime": [29, 47, 72], "omega_cxx_flag": 29, "omega_link_opt": 29, "linker": 29, "omega_build_execut": 29, "omega_build_test": [29, 72], "omega_parmetis_root": [29, 72], "installt": 29, "omega_metis_root": [29, 72], "meti": [29, 33, 60, 72], "omega_gklib_root": [29, 72], "gklib": [29, 72], "omega_hip_compil": 29, "hipcc": 29, "omega_hip_flag": 29, "omega_memory_layout": 29, "omega_tile_length": 29, "tile": 29, "omega_log_info": 29, "omega_log_flush": 29, "turn": [29, 31, 64, 70], "e3sm_source_dir": 29, "e3sm_root": [29, 72], "e3sm_cime_root": 29, "e3sm_cimeconfig_root": 29, "e3sm_externals_root": 29, "e3sm_default_build_typ": 29, "cmake_current_source_dir": [29, 72], "cmake_current_binary_dir": 29, "cmake_current_list_dir": 29, "cmake_cxx_standard": 29, "cmake_cxx_compil": 29, "cmake_cxx_flag": 29, "cmake_build_typ": 29, "cmake_install_prefix": 29, "cmake_vers": 29, "artifact": 29, "until": [29, 31, 36, 57, 60], "modif": [29, 72], "pleas": [29, 35, 43, 47, 69, 73], "lint": [30, 47, 54], "curl": [30, 56, 66], "l": [30, 72], "com": [30, 35, 47, 54], "forg": 30, "miniforg": 30, "latest": [30, 67], "download": [30, 47], "unam": 30, "sh": [30, 47, 72], "bash": 30, "recommend": [30, 35, 44, 47], "somewher": [30, 47], "home": [30, 47], "scratch": [30, 31, 47], "render": 30, "useless": 30, "purg": 30, "gb": 30, "quickli": 30, "quota": 30, "weigh": 30, "trade": 30, "yourself": 30, "skip": 30, "bashrc": 30, "command": [30, 47, 70, 72], "conda_bas": 30, "profil": 30, "anytim": 30, "omega_dev": [30, 47], "dev": [30, 35, 47], "easiest": 30, "recreat": [30, 43], "instruct": [30, 47, 72], "prompt": 30, "sai": 30, "ye": 30, "paradigm": 31, "readal": [31, 42], "getomegaconfig": [31, 50], "deeper": 31, "hmixdel2": 31, "subconfigur": 31, "hmixdel2config": 31, "del2": 31, "existsgroup": 31, "existsvar": 31, "good": [31, 47], "idea": [31, 47], "hmixnewvar": 31, "analog": [31, 33, 57], "streamsconfig": 31, "nodenam": 31, "thisstreamconfig": 31, "const_iter": 31, "retriv": 31, "focu": 31, "bottom": [31, 65], "configtest": 31, "backslash": 31, "4": [32, 47, 54, 58, 59, 67], "byte": [32, 51, 59], "8": [32, 47, 51, 59], "domega_single_precis": [32, 59], "algorithm": [32, 67, 78], "unwant": 32, "_real": 32, "1": [32, 33, 34, 37, 40, 41, 45, 46, 47, 48, 53, 54, 57, 58, 67, 68, 72, 79], "somewhat": 32, "arrayndtt": 32, "hostarrayndtt": 32, "ntimelevel": [32, 46, 52], "temperaturehost": 32, "vice": 32, "versa": [32, 47], "createhostmirrorcopi": 32, "explic": 32, "subdivid": 33, "footprint": 33, "communc": 33, "remot": [33, 47, 60], "ownership": 33, "redistribut": 33, "cellidh": [33, 34, 41], "ncellssiz": [33, 34], "axi": 33, "typical": 33, "maxedg": [33, 39], "vertexdegre": 33, "cellid": [33, 37], "cellloc": 33, "2": [33, 45, 46, 47, 53, 54, 58, 65, 72, 79], "endpoint": 33, "nverticess": 33, "nedgesonedg": 33, "varh": 33, "fluxh": 33, "parallel_for": 33, "pool": 33, "particip": 34, "celloffset": 34, "ncellsoffset": 34, "celldim": 34, "maxedgeoncel": 34, "localdim": 34, "mydimnam": [34, 37], "lengthofdim": 34, "lengthglob": 34, "getdimlengthglob": 34, "lengthloc": 34, "getdimlengthloc": 34, "distrbdim": 34, "isdistributeddim": 34, "myoffset": 34, "getdimoffset": 34, "mydim": 34, "getlengthglob": 34, "getlengthloc": 34, "isdistribut": [34, 37], "getoffset": 34, "thisdim": 34, "sphinx": 35, "myst": 35, "tip": 35, "pull": [35, 43], "flesh": 35, "anchor": 35, "page": [35, 47], "head": 35, "whenev": [35, 63], "think": 35, "who": [35, 44], "background": 35, "referenc": 35, "manual": 35, "review": 35, "intend": [35, 58, 72], "regress": 35, "everyth": 36, "calendar": [36, 62, 77, 78], "omegac": 36, "configal": 36, "durat": [36, 51, 62], "timestepp": [36, 54, 78], "clock": [36, 52, 77], "signal": 36, "dostep": [36, 52], "conventio": 37, "cut": 37, "nedg": [37, 41, 60], "myfield": 37, "numdim": 37, "intimedepend": 37, "uncommon": 37, "fairli": 37, "analys": 37, "restrict": 37, "accident": 37, "timedepend": 37, "attribut": 37, "simfield": 37, "make_pair": 37, "name1": 37, "val1": 37, "name2": 37, "val2": 37, "name3": 37, "val3": 37, "name4": 37, "val4": 37, "arraytyp": 37, "indataarrai": 37, "attachfielddata": 37, "whose": [37, 69], "slice": [37, 68], "reattach": 37, "fieldtyp": 37, "fieldmemloc": 37, "mytype1": 37, "gettyp": [37, 52], "mytype2": 37, "getfieldtyp": 37, "myloc1": 37, "getmemoryloc": 37, "myloc2": 37, "getfieldmemoryloc": 37, "ver": 37, "isonhost": 37, "isfieldonhost": 37, "handi": 37, "getnumdim": 37, "getdimnam": 37, "istimedepend": 37, "myfieldnam": 37, "getmetadata": 37, "metadatanam": 37, "metavalu": [37, 41], "updatemetadata": 37, "newmetavalu": 37, "metaexist": 37, "hasmetadata": 37, "thismeta": 37, "thisfield": 37, "getallmetadata": 37, "getfieldmeta": 37, "coerc": 37, "coercion": [37, 58], "mydata1": 37, "getdataarrai": 37, "mydata2": 37, "getfielddataarrai": 37, "removemetadata": 37, "removeallmetadata": 37, "fieldgroup": [37, 68], "addfieldtogroup": 37, "mygroupexist": 37, "fieldisingroup": 37, "hasfield": 37, "isfieldingroup": 37, "myfieldlist": 37, "getfieldlist": 37, "getfieldlistfromgroup": 37, "shortcut": [37, 63], "getfield": 37, "getfieldfromgroup": 37, "removefieldfromgroup": 37, "perfrom": 38, "defhalo": 38, "newenv": 38, "buffer": [38, 64], "myhalo": [38, 52], "somecellbasedarrai": 38, "alongsid": 39, "hmesh": 39, "computefluxtend": 39, "trisk": [40, 65, 66], "contrast": 40, "plain": 40, "strictli": 40, "divergenceoncel": [40, 66], "divoncel": 40, "vec": 40, "divvec": 40, "gradientonedg": [40, 66], "curlonvertex": [40, 66], "tangentialrecononedg": [40, 66], "principl": 40, "moreov": 40, "henc": 40, "motiv": 40, "nic": [41, 67], "raw": [41, 47], "openfil": 41, "closefil": 41, "moderead": 41, "modewrit": 41, "filefmt": 41, "fmtnetcdf3": 41, "pio_iotype_netcdf": 41, "netcdf3": 41, "classic": [41, 52, 78], "fmtpnetcdf": 41, "pio_iotype_pnetcdf": 41, "fmtnetcdf4c": 41, "pio_iotype_netcdf4c": 41, "cmpress": 41, "fmtnetcdf4p": 41, "pio_iotype_netcdf4p": 41, "fmtnetcdf4": 41, "fmthdf5": 41, "pio_iotype_hdf5": 41, "fmtadio": 41, "pio_iotype_adio": 41, "fmtunknown": 41, "fmtdefault": 41, "earlier": [41, 77], "readarrai": 41, "variablenam": 41, "decompid": 41, "varid": 41, "writearrai": 41, "definevar": 41, "readndvar": 41, "writendvar": 41, "subsystem": 41, "laid": 41, "definedim": 41, "dimnam": 41, "dimid": 41, "nvertic": [41, 60], "getdimfromfil": 41, "dimlength": 41, "createdecomp": 41, "iodatatyp": 41, "globalindx": 41, "rearr": 41, "defaultrearr": 41, "rearrbox": 41, "rearrsubset": 41, "userguid": 41, "offsetcel": 41, "exclud": [41, 45], "iotypei4": 41, "pio_int": 41, "iotypei8": 41, "pio_int64": 41, "iotyper4": 41, "pio_real": 41, "iotyper8": 41, "pio_doubl": 41, "iotypechar": 41, "pio_char": 41, "iotypelog": 41, "null": 41, "writemeta": 41, "readmeta": 41, "globalid": 41, "learn": 41, "modelclock": [42, 51, 52], "allvalid": 42, "validateal": 42, "mystream": 42, "isvalid": 42, "onshutdown": [42, 68], "reqmetadata": 42, "incud": 42, "forcingtim": 42, "commit": [43, 47], "git": [43, 47], "ci": 43, "merg": 43, "hook": 43, "clang": [43, 47], "tidi": 43, "cppcheck": 43, "shortli": 43, "isort": 43, "flynt": 43, "flake8": 43, "pep8": 43, "style": 43, "mypi": 43, "upon": [44, 55, 69, 71, 75], "infra": 44, "encompass": 44, "initlog": 44, "invok": 44, "pivot": 44, "establish": 44, "omega_log_filepath": 44, "constitut": 44, "commenc": 44, "logger_": 44, "versatil": 44, "facilitat": 44, "struct": 44, "thread": [45, 70], "defenv": 45, "getcomm": 45, "mytask": 45, "getmytask": 45, "numtask": 45, "getnumtask": 45, "mastertask": 45, "getmastertask": 45, "ismastertask": 45, "setmastertask": 45, "redefin": 45, "getnumthread": 45, "tune": 45, "mynewenv": 45, "parentenv": 45, "odd": 45, "removeenv": 45, "removeal": 45, "meshdecomp": 46, "meshhalo_": 46, "nvertlevels_": 46, "ntimelevels_": 46, "copytodevic": 46, "copytohost": 46, "updatetimelevel": 46, "shift": 46, "getlayerthick": 46, "normvel": 46, "getnormalveloc": 46, "hostarray2dr": [46, 53], "layerthickh": 46, "getlayerthicknessh": 46, "normvelh": 46, "getnormalvelocityh": 46, "ago": 46, "availi": 46, "ask": 47, "go": 47, "respositori": 47, "click": 47, "button": 47, "upper": 47, "corner": 47, "owner": 47, "usernam": 47, "repositori": 47, "server": 47, "let": 47, "visa": 47, "clone": 47, "repo": 47, "github_usernam": 47, "collabor": 47, "sync": 47, "p": 47, "miniforge3": [47, 54], "reus": 47, "buid": 47, "submodul": 47, "recurs": 47, "ekat": 47, "build_dir": 47, "fresh": 47, "rm": 47, "rf": 47, "mkdir": 47, "parmetis_root": 47, "domega_build_typ": 47, "build_typ": 47, "domega_cime_compil": [47, 72], "domega_cime_machin": [47, 72], "domega_parmetis_root": [47, 72], "domega_build_test": [47, 72], "ON": [47, 64, 72], "wno": 47, "omega_branch": 47, "omega_build": [47, 72], "moment": [47, 51], "planar": 47, "wget": 47, "ocean_test_mesh": 47, "web": 47, "lcrc": 47, "anl": 47, "gov": 47, "inputdata": 47, "ocn": [47, 53, 68, 79], "oqu240": 47, "qu": 47, "240km": 47, "151209": 47, "global_test_mesh": 47, "polaris_cach": 47, "global_converg": 47, "ico": 47, "cosine_bel": 47, "icos480": 47, "initial_st": 47, "230220": 47, "planar_test_mesh": 47, "gist": 47, "mwarusz": 47, "f8caf260398dbe140d2102ec46a41268": 47, "e3c29afbadc835797604369114321d93fd69886d": 47, "planarperiodic48x48": 47, "ln": 47, "sf": 47, "omegamesh": [47, 60, 68], "omegaspheremesh": 47, "omegaplanarmesh": 47, "omega_ctest": [47, 72], "gpf": 47, "fs1": 47, "ac": 47, "xylar": 47, "e3sm_work": 47, "build_omega": [47, 72], "build_chrysalis_intel": 47, "data_types_test": [47, 72], "38": 47, "machine_env_test": 47, "98": 47, "3": [47, 53, 54, 58, 60, 72, 79], "broadcast_test": 47, "logging_test": 47, "03": [47, 72], "5": [47, 57, 58, 65], "decomp_test": 47, "20": [47, 51], "6": [47, 68], "halo_test": 47, "08": 47, "7": 47, "io_test": 47, "94": 47, "config_test": 47, "kokkos_test": 47, "91": 47, "omega_build_typ": 47, "examin": 47, "lasttest": 47, "polaris_bas": 47, "spack": 47, "dev_polaris_0_5_0_": 47, "chicoma": 47, "gnu": 47, "usr": 47, "dev_polaris_0_5_0_gnu_mpich": 47, "chrysali": 47, "intel": 47, "soft": [47, 58, 72], "dev_polaris_0_5_0_intel_openmpi": 47, "dev_polaris_0_5_0_gnu_openmpi": 47, "frontier": 47, "cc": [47, 72], "proj": 47, "cli115": 47, "gnugpu": 47, "dev_polaris_0_5_0_gnugpu_mpich": 47, "crayclang": 47, "dev_polaris_0_5_0_crayclang_mpich": 47, "crayclanggpu": 47, "dev_polaris_0_5_0_crayclanggpu_mpich": 47, "pm": [47, 72], "cdir": 47, "dev_polaris_0_5_0_intel_mpich": 47, "dev_polaris_0_5_0_nvidia_mpich": 47, "nvidiagpu": [47, 72], "dev_polaris_0_5_0_nvidiagpu_mpich": 47, "adher": 47, "llvm": 47, "hope": 47, "coher": 47, "condier": 47, "hpc": 47, "studio": 47, "plugin": 47, "edit": [47, 58, 68], "laptop": 47, "desktop": 47, "preview": 47, "markdown": 47, "val": 48, "indexrang": 48, "nullptr": [48, 53], "signatur": [48, 52], "big": 48, "globalmaxv": 48, "deftend": 49, "newtend": 49, "customthicknesstend": 49, "customvelocitytend": 49, "thicktimelevel": 49, "veltimelevel": 49, "computetracertend": 49, "thickfluxdivonc": 50, "auxillari": 50, "contributon": 50, "thickfluxdixonc": 50, "thicknesstend": 50, "thickfluxedg": 50, "tracerhorzadvoncel": [50, 76], "tracerdiffoncel": [50, 76], "tracerhyperdiffoncel": [50, 76], "round": 51, "calendarnam": 51, "word": 51, "five": 51, "ti1": 51, "realsecond": 51, "eight": 51, "ti2": 51, "roughli": 51, "dd_hh": [51, 62, 68], "ssss": [51, 62], "yy": 51, "ti3": 51, "timestr": 51, "seprat": 51, "interval1": 51, "interval2": 51, "unittyp": 51, "mydeltatim": 51, "mytimeinstant2": 51, "mytimeinstant1": 51, "singlealarm": 51, "alarminst": 51, "periodicalarm": 51, "alarmstart": 51, "newalarmtim": 51, "perman": 51, "calgreg": 51, "2000": 51, "midnight": 51, "intervalmonthli": 51, "alarmmonthli": 51, "intervalmontli": 51, "2025": 51, "enumer": 52, "timesteppertyp": 52, "forwardbackward": 52, "rungekutta4": [52, 78], "rungekutta2": [52, 78], "Its": 52, "pure": 52, "virtual": 52, "simtim": [52, 68], "concret": 52, "init1": 52, "init2": 52, "deftimestepp": 52, "newtimestepp": 52, "getntimelevel": 52, "getstoptim": 52, "getclock": 52, "getendalarm": 52, "state1": 52, "state2": 52, "timelevel1": 52, "timelevel2": 52, "updatestatebytend": 52, "conceptu": 52, "wise": 52, "updatethicknessbytend": 52, "updatevelocitybytend": 52, "updatetracersbytend": 52, "nexttrac": 52, "curtrac": 52, "weighttrac": 52, "curstat": 52, "accumulatetracersupd": 52, "accumtrac": 52, "finalizetracersupd": 52, "forwardbackwardstepp": 52, "rungekutta2stepp": 52, "rungekutta4stepp": 52, "defint": [53, 54], "accordingli": 53, "currenttracerarrai": 53, "err1": 53, "previoustracerarrai": 53, "tracerarrayh": 53, "summer": 54, "2026": 54, "2027": 54, "trsk": 54, "formul": 54, "port": 54, "timemgr": 54, "reduct": 54, "bypass": 54, "pacakg": 54, "formatt": 54, "stepper": [54, 78], "minval": 54, "maxval": 54, "globalmin": 54, "globalmax": 54, "concept": 54, "v0": 54, "errorhandl": 54, "machineenv": 54, "timer": 54, "veldel2edg": 56, "veldel2divcel": 56, "veldel2relvortvertex": 56, "streamlin": 57, "dissemin": 57, "categor": 57, "myval": 57, "illustr": [57, 72], "seek": 57, "roottask": 57, "subsetenv": 57, "myvector": [57, 58], "push_back": 57, "unix": 58, "colon": [58, 68], "configr": [58, 72], "restarton": 58, "compset": 58, "cluster": 60, "decompmethod": 60, "hardwir": 60, "prove": 61, "0000_02": 62, "000": 62, "dddd_hh": [62, 78], "incosist": 62, "computaion": 64, "broken": 64, "distrubt": 64, "impact": 64, "domega_mpi_on_devic": 64, "toggl": 64, "omega_mpi_on_devic": 64, "caveat": 65, "letter": 65, "fcell": 65, "fedg": 65, "radian": 65, "longitud": 65, "latitud": 65, "kiteareasonvertex": 65, "angleedg": 65, "angl": 65, "eastward": 65, "meshdens": 65, "reconstruct": [65, 66], "row": 65, "stagger": 66, "gradient": [66, 76], "iodefaultformat": 67, "socket": 67, "draw": 67, "strongli": 67, "discourag": 67, "familiar": 67, "shutdown": 68, "breviti": 68, "initialst": 68, "usepointerfil": 68, "onstartup": 68, "restartwrit": 68, "hist": 68, "hifreq": 68, "10": [68, 69, 78], "06": 68, "30_00": 68, "job": [68, 70, 72], "submiss": 68, "problem": 68, "walltim": 68, "irl": 68, "readwrit": 68, "attim": 68, "ontim": 68, "certain": 68, "inclus": 68, "logmsg": 69, "hello": 69, "world": 69, "summar": 69, "myint": 69, "logfil": 69, "mpirun": 70, "srun": [70, 72], "domega_vector_length": 70, "xx": 70, "domega_thread": 70, "strong": 72, "foundat": 72, "emploi": 72, "cime_config": 72, "invoc": 72, "e3sm_hom": 72, "omega_env": 72, "omega_run": 72, "domega_cxx_compil": 72, "domega_arch": 72, "unittest": 72, "succe": 72, "workdir": 72, "cmakecach": 72, "cmakefil": 72, "cmake_instal": 72, "ctesttestfil": 72, "makefil": 72, "domega_install_prefix": 72, "bin": 72, "launcher": 72, "batch": 72, "appropi": 72, "04": 72, "cmake_util": 72, "build_mpas_model": 72, "build_eamxx": 72, "build_model": 72, "buildconf": 72, "caseroot": 72, "cimesrc_path": 72, "add_subdirectori": 72, "endfunct": 72, "libomegalib": 72, "e3sm_bld_directori": 72, "bld": 72, "readi": 73, "sea": 76, "height": 76, "diffus": 76, "pvtendencyen": 76, "ketendencyen": 76, "sshtendencyen": 76, "veldifftendencyen": 76, "viscdel2": 76, "velhyperdifftendencyen": 76, "viscdel4": 76, "tracerhorzadvtendencyen": 76, "tracerdifftendencyen": 76, "eddydiff2": 76, "tracerhyperdifftendencyen": 76, "eddydiff4": 76, "coeffienct": 76, "timeintegr": [77, 78], "western": 77, "eastern": 77, "orthodox": 77, "tradit": 77, "meaningless": 77, "0000_00": 78, "01_02": 78, "momentum": 78, "day_hh": 78, "fit": 78, "queue": 78}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"auxiliaryst": 0, "1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "overview": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "requir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "auxiliari": [0, 1, 25, 26, 55, 56], "state": [0, 6, 17, 25, 46, 55, 71], "should": [0, 1, 17, 20], "regist": [0, 7, 17], "variabl": [0, 1, 2, 3, 8, 9, 14, 15, 17, 25, 26, 56], "iostream": [0, 10, 11, 17, 42, 68], "comput": [0, 1, 9, 19, 25, 26, 49], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "multipl": [0, 5, 8, 9, 10, 11, 13, 16, 19, 23], "can": [0, 9, 17, 19], "present": [0, 19], "algorithm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "formul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "design": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 54], "data": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 32, 57, 59], "type": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 32, 52, 57, 59], "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24], "class": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 26, 51, 52], "struct": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24], "method": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 52], "creation": [0, 9, 14, 19, 25, 49, 52], "initi": [0, 13, 19, 23, 25, 44, 49, 52, 53], "retriev": [0, 3, 13, 14, 19], "5": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 51], "destruct": [0, 19], "remov": [0, 14, 19, 25, 49, 52], "verif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "test": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 47], "function": [1, 3, 9, 14, 26, 48, 57], "have": [1, 20], "simpl": [1, 20], "intuit": [1, 20], "call": [1, 20, 23], "argument": [1, 20, 22], "abl": [1, 20], "group": [1, 3, 14, 20, 24, 26, 53], "under": [1, 20], "differ": [1, 2, 20], "outer": [1, 20], "loop": [1, 20], "over": [1, 20], "mesh": [1, 5, 8, 9, 15, 20, 39, 47, 65], "locat": [1, 5, 7, 16, 20], "vector": [1, 2, 13, 15, 20], "cpu": [1, 15, 16, 20], "architectur": [1, 15, 20], "configur": [1, 3, 24, 26, 31, 58, 79], "option": [1, 3, 5, 11], "output": [1, 7, 10, 12, 23, 29], "6": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 51], "desir": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 23, 24], "small": 1, "memori": [1, 5, 8, 23, 53], "footprint": 1, "constructor": [1, 3, 5, 8, 9, 10, 13, 17, 20, 26], "unit": [1, 20], "converg": [1, 15, 20], "broadcast": [2, 27, 57], "all": [2, 5, 7, 8, 11, 23, 24], "support": [2, 3, 9, 10, 12, 21, 23, 57], "scalar": [2, 57], "from": [2, 15], "ani": 2, "rank": 2, "within": 2, "altern": [2, 13], "environ": [2, 6, 8, 10, 13, 16, 30, 45, 47, 57, 70], "non": [2, 8, 25, 49, 52, 57], "block": [2, 5, 8, 13, 57], "master": [2, 3, 13], "task": [2, 7, 13, 57], "default": [2, 3, 4, 13, 25, 49, 52], "anoth": 2, "other": [2, 7, 13, 16, 22, 23], "subset": [2, 8], "config": [3, 31, 58], "human": 3, "readabl": [3, 4], "standard": 3, "format": [3, 7, 10, 15], "archiv": 3, "proven": 3, "intern": [3, 23], "access": 3, "effici": 3, "parallel": [3, 10, 41, 67], "8": [3, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 23, 24], "singl": [3, 24], "input": [3, 5, 10, 12], "9": [3, 5, 7, 8, 10, 11, 12, 13, 15, 16, 23, 24], "hierarchi": 3, "10": [3, 5, 7, 8, 10, 11, 15, 16, 23, 24], "languag": 3, "11": [3, 5, 7, 8, 10, 11, 16, 23], "miss": 3, "valu": [3, 57], "12": [3, 5, 8, 11, 23], "extra": 3, "13": 3, "autom": 3, "gener": [3, 7], "error": [3, 7], "check": [3, 5, 7, 43, 47], "14": 3, "accept": [3, 22], "file": [3, 10, 11, 12, 79], "read": [3, 9, 10, 11, 17], "get": [3, 13, 47], "chang": [3, 13, 52], "an": [3, 47], "exist": [3, 10, 11, 14], "ad": 3, "new": 3, "entri": 3, "write": [3, 10, 11, 12], "destructor": [3, 5, 9, 17], "document": [3, 28, 35, 54], "auto": 3, "set": [3, 13, 47], "re": 3, "datatyp": 4, "both": 4, "flexibl": 4, "fix": 4, "float": 4, "point": 4, "arrai": [4, 8, 9, 10, 16, 32, 53, 57], "width": 4, "integ": 4, "interoper": 4, "futur": 4, "convers": [4, 10], "explicit": 4, "global": [4, 5, 14, 16, 48, 74], "switch": 4, "real": 4, "size": [4, 13], "kokko": [4, 10, 13, 32, 44], "decomp": [5, 9, 33, 60], "partit": 5, "meti": [5, 47], "onlin": [5, 9], "inform": [5, 9], "halo": [5, 8, 38, 64], "7": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 23, 24], "local": [5, 12], "index": [5, 16], "map": 5, "sort": 5, "releas": 5, "weight": 5, "same": 5, "domain": [5, 15, 33, 60], "sub": 5, "color": 5, "back": 5, "compat": [5, 8, 23], "id": [5, 7], "driver": [6, 36, 62], "compon": [6, 15, 69, 72], "layer": [6, 8], "interfac": [6, 15, 27], "standalon": [6, 13, 69, 72], "encapsul": 6, "persist": 6, "model": [6, 31, 58], "manag": [6, 24, 51, 52, 77], "run": [6, 15, 47], "final": [6, 23, 53], "init": [6, 24], "main": 6, "coupler": 6, "forward": [6, 22], "coupl": [6, 13], "errorhandl": 7, "log": [7, 12, 44, 69], "level": [7, 17, 24, 53], "sever": 7, "abort": 7, "stack": 7, "trace": 7, "identifi": 7, "success": 7, "fail": 7, "code": [7, 27, 43, 47, 57], "messag": 7, "accumul": [7, 21], "compact": 7, "macro": [7, 44], "failur": 7, "mode": [7, 10, 13, 69], "exchang": [8, 38, 64], "element": 8, "depth": 8, "list": 8, "send": 8, "receiv": 8, "buffer": [8, 12], "commun": [8, 13], "devic": [8, 9, 10, 23, 53], "resid": 8, "simultan": 8, "decomposit": [8, 15, 16, 33, 60], "openmp": 8, "thread": [8, 12, 13, 16, 23], "minim": 8, "alloc": 8, "dealloc": 8, "start": [8, 11, 23, 47, 73], "pack": 8, "unpack": 8, "horizont": [9, 39, 40, 65, 66], "omega": [9, 12, 15, 27, 29, 44, 47, 54, 57, 69, 72], "us": [9, 15, 17, 79], "previous": 9, "establish": 9, "mpa": [9, 15], "spec": 9, "i": [9, 10, 24, 73], "need": 9, "host": [9, 10, 53], "transfer": 9, "relev": 9, "zero": 9, "base": [9, 52, 72], "cell": [9, 15], "edg": [9, 15], "vertex": [9, 15], "number": 9, "work": 9, "decompos": 9, "associ": 9, "metadata": [9, 10, 14, 24, 37, 63], "describ": [9, 10], "o": [9, 10, 24], "obtain": 9, "abil": 9, "independ": 9, "object": 9, "reduc": [9, 11], "remain": 9, "copi": 9, "registr": 9, "routin": 9, "io": [10, 41, 42, 67, 68], "field": [10, 11, 14, 16, 37, 48, 63], "self": 10, "stream": [10, 11, 42, 68], "tune": 10, "asynchron": 10, "compress": [10, 11], "open": 10, "close": 10, "oper": [10, 12, 15, 16, 20, 40, 66], "defin": [10, 13, 24], "via": 10, "precis": [11, 32, 59], "content": 11, "each": 11, "exact": [11, 15], "restart": [11, 24], "pointer": 11, "time": [11, 13, 17, 21, 22, 23, 24, 51, 52, 53, 77, 78], "interv": [11, 21], "stop": [11, 23], "filenam": 11, "slice": 11, "per": [11, 24], "behavior": 11, "averag": 11, "creat": [11, 13, 14, 30, 44, 47], "destroi": 11, "add": [11, 14], "basic": [12, 16, 26], "inter": 12, "e3sm": [12, 23, 47, 69, 72], "multi": [12, 15, 16, 48], "process": 12, "formatt": [12, 44], "sink": 12, "capabl": 12, "machineenv": 13, "mpi": [13, 23, 27], "layout": 13, "compil": 13, "machin": [13, 45, 70], "factor": 13, "convent": 14, "dimens": [14, 34, 61], "avail": 14, "contain": 14, "dim": 14, "length": 14, "inquiri": 14, "metadim": 14, "cf": 14, "complianc": 14, "v0": 15, "shallow": 15, "water": 15, "0": 15, "solv": 15, "nonlinear": 15, "equat": 15, "plu": 15, "inact": 15, "tracer": [15, 24, 53, 79], "numer": 15, "trisk": 15, "unstructur": 15, "polari": [15, 47], "preprocess": 15, "postprocess": 15, "portabl": 15, "variou": 15, "doe": 15, "gpu": 15, "node": 15, "correct": 15, "rate": 15, "solut": 15, "conserv": [15, 22], "volum": 15, "perform": [15, 22], "least": 15, "good": 15, "better": 15, "than": 15, "ocean": [15, 46, 71], "full": [15, 23], "throughput": 15, "compar": 15, "govern": 15, "continu": 15, "discret": [15, 22], "definit": [15, 24], "diverg": 15, "gradient": 15, "curl": 15, "perpendicular": 15, "interpol": 15, "momentum": 15, "term": [15, 19, 50, 76], "kinet": 15, "energi": 15, "potenti": 15, "vortic": 15, "sea": 15, "surfac": 15, "height": 15, "del2": 15, "dissip": 15, "del4": 15, "rayleigh": 15, "drag": 15, "bottom": 15, "wind": 15, "forc": 15, "thick": 15, "advect": 15, "diffus": 15, "individu": 15, "inertia": 15, "graviti": 15, "wave": 15, "linear": 15, "manufactur": 15, "transport": 15, "sphere": 15, "spheric": 15, "realist": 15, "coastlin": 15, "further": 15, "refer": 15, "reduct": [16, 48, 74], "sum": [16, 48], "min": 16, "max": 16, "product": [16, 48], "restrict": 16, "address": 16, "space": 16, "reproduc": 16, "acceler": [16, 24], "minval": [16, 48], "maxval": [16, 48], "rang": 16, "prognost": 17, "updat": [17, 29, 30, 43, 79], "timestep": 17, "common": 17, "tendenc": [17, 19, 20, 49, 50, 75, 76], "provi": 17, "templat": 18, "xxx": 18, "yyi": 18, "zzz": 18, "instanc": 19, "must": [20, 22], "allow": 20, "timemanag": 21, "simul": 21, "No": 21, "roundoff": 21, "calendar": [21, 51], "event": 21, "alarm": [21, 51], "long": 21, "string": 21, "represent": 21, "timefrac": [21, 51], "timeinst": [21, 51], "timeinterv": [21, 51], "clock": [21, 51], "step": [22, 29, 52, 78], "accur": 22, "deriv": 22, "stabil": 22, "modular": 22, "The": 22, "rh": 22, "backward": 22, "scheme": 22, "timer": 23, "statist": 23, "context": 23, "sequenc": 23, "coverag": 23, "hardwar": 23, "counter": 23, "profil": 23, "interact": 23, "tool": 23, "print": 23, "gptl": 23, "librari": [23, 47], "infrastructur": 24, "identif": 24, "select": [24, 79], "supercycl": 24, "getnumtrac": [24, 53], "getindex": [24, 53], "getal": [24, 53], "getbyindex": [24, 53], "getgrouprang": [24, 53], "isgroupmemberbyindex": 24, "clear": 24, "structur": [26, 27], "enum": 26, "member": 26, "implement": [26, 51, 52], "ibroadcast": 27, "integr": 27, "build": [28, 29, 47, 69, 72], "cmake": [29, 72], "setup": 29, "develop": [30, 44, 47, 54], "conda": [30, 47], "instal": 30, "miniforge3": 30, "ocninit": 36, "ocnrun": 36, "ocnfin": 36, "lint": 43, "enabl": 43, "bypass": 43, "c": 43, "python": 43, "pacakg": 43, "logger": 44, "custom": 44, "machenv": [45, 70], "quick": [47, 73], "up": 47, "fork": 47, "out": 47, "ctest": 47, "util": [47, 48, 52], "debug": 47, "tip": 47, "parmeti": 47, "style": 47, "v": 47, "globalmin": 48, "globalmax": 48, "timemgr": [51, 77], "descript": 51, "stepper": 52, "timestepp": 52, "do": 52, "getter": 52, "concept": 53, "kei": 53, "api": 53, "getallhost": 53, "gethostbyindex": 53, "getfieldbyindex": 53, "updatetimelevel": 53, "user": [54, 73], "": 54, "guid": 54, "includ": 57, "your": 57, "specifi": 57, "manual": 72, "prepar": 72, "come": 73, "soon": 73, "defint": 79, "tracerdef": 79, "inc": 79, "yaml": 79}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"AuxiliaryState": [[0, "auxiliarystate"]], "1 Overview": [[0, "overview"], [1, "overview"], [2, "overview"], [3, "overview"], [4, "overview"], [5, "overview"], [6, "overview"], [7, "overview"], [8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"], [16, "overview"], [17, "overview"], [18, "overview"], [19, "overview"], [20, "overview"], [21, "overview"], [22, "overview"], [23, "overview"], [24, "overview"]], "2 Requirements": [[0, "requirements"], [1, "requirements"], [2, "requirements"], [3, "requirements"], [4, "requirements"], [5, "requirements"], [6, "requirements"], [7, "requirements"], [8, "requirements"], [9, "requirements"], [10, "requirements"], [11, "requirements"], [12, "requirements"], [13, "requirements"], [14, "requirements"], [15, "requirements"], [16, "requirements"], [17, "requirements"], [18, "requirements"], [19, "requirements"], [20, "requirements"], [21, "requirements"], [22, "requirements"], [23, "requirements"], [24, "requirements"]], "2.1 Requirement: Auxiliary state should register auxiliary variables with IOStreams": [[0, "requirement-auxiliary-state-should-register-auxiliary-variables-with-iostreams"]], "2.2 Requirement: Computation of auxiliary variables": [[0, "requirement-computation-of-auxiliary-variables"]], "2.3 Requirement: Multiple auxiliary states can be present": [[0, "requirement-multiple-auxiliary-states-can-be-present"]], "3 Algorithmic Formulation": [[0, "algorithmic-formulation"], [1, "algorithmic-formulation"], [2, "algorithmic-formulation"], [3, "algorithmic-formulation"], [4, "algorithmic-formulation"], [5, "algorithmic-formulation"], [6, "algorithmic-formulation"], [7, "algorithmic-formulation"], [8, "algorithmic-formulation"], [9, "algorithmic-formulation"], [10, "algorithmic-formulation"], [11, "algorithmic-formulation"], [12, "algorithmic-formulation"], [13, "algorithmic-formulation"], [14, "algorithmic-formulation"], [15, "algorithmic-formulation"], [16, "algorithmic-formulation"], [17, "algorithmic-formulation"], [18, "algorithmic-formulation"], [19, "algorithmic-formulation"], [20, "algorithmic-formulation"], [21, "algorithmic-formulation"], [22, "algorithmic-formulation"], [23, "algorithmic-formulation"], [24, "algorithmic-formulation"]], "4 Design": [[0, "design"], [1, "design"], [2, "design"], [3, "design"], [4, "design"], [5, "design"], [6, "design"], [7, "design"], [8, "design"], [9, "design"], [10, "design"], [11, "design"], [12, "design"], [13, "design"], [14, "design"], [15, "design"], [16, "design"], [17, "design"], [18, "design"], [19, "design"], [20, "design"], [21, "design"], [22, "design"], [23, "design"], [24, "design"]], "4.1 Data types and parameters": [[0, "data-types-and-parameters"], [1, "data-types-and-parameters"], [2, "data-types-and-parameters"], [3, "data-types-and-parameters"], [4, "data-types-and-parameters"], [5, "data-types-and-parameters"], [6, "data-types-and-parameters"], [7, "data-types-and-parameters"], [8, "data-types-and-parameters"], [9, "data-types-and-parameters"], [10, "data-types-and-parameters"], [11, "data-types-and-parameters"], [12, "data-types-and-parameters"], [13, "data-types-and-parameters"], [14, "data-types-and-parameters"], [16, "data-types-and-parameters"], [17, "data-types-and-parameters"], [18, "data-types-and-parameters"], [19, "data-types-and-parameters"], [20, "data-types-and-parameters"], [21, "data-types-and-parameters"], [23, "data-types-and-parameters"]], "4.1.1 Parameters": [[0, "parameters"], [1, "parameters"], [3, "parameters"], [4, "parameters"], [5, "parameters"], [6, "parameters"], [7, "parameters"], [8, "parameters"], [9, "parameters"], [10, "parameters"], [11, "parameters"], [12, "parameters"], [13, "parameters"], [14, "parameters"], [16, "parameters"], [17, "parameters"], [18, "parameters"], [19, "parameters"], [20, "parameters"], [21, "parameters"], [23, "parameters"]], "4.1.2 Class/structs/data types": [[0, "class-structs-data-types"], [1, "class-structs-data-types"], [3, "class-structs-data-types"], [4, "class-structs-data-types"], [5, "class-structs-data-types"], [6, "class-structs-data-types"], [7, "class-structs-data-types"], [8, "class-structs-data-types"], [9, "class-structs-data-types"], [10, "class-structs-data-types"], [11, "class-structs-data-types"], [12, "class-structs-data-types"], [13, "class-structs-data-types"], [14, "class-structs-data-types"], [16, "class-structs-data-types"], [17, "class-structs-data-types"], [18, "class-structs-data-types"], [19, "class-structs-data-types"], [20, "class-structs-data-types"], [21, "class-structs-data-types"], [23, "class-structs-data-types"]], "4.2 Methods": [[0, "methods"], [1, "methods"], [2, "methods"], [3, "methods"], [4, "methods"], [5, "methods"], [6, "methods"], [7, "methods"], [8, "methods"], [9, "methods"], [10, "methods"], [11, "methods"], [12, "methods"], [13, "methods"], [14, "methods"], [16, "methods"], [17, "methods"], [18, "methods"], [19, "methods"], [20, "methods"], [21, "methods"], [23, "methods"], [24, "methods"]], "4.2.1 Creation": [[0, "creation"], [19, "creation"]], "4.2.2 Initialization": [[0, "initialization"], [19, "initialization"]], "4.2.3 Retrieval": [[0, "retrieval"], [19, "retrieval"]], "4.2.4 Computation": [[0, "computation"], [19, "computation"]], "4.2.5 Destruction and removal": [[0, "destruction-and-removal"], [19, "destruction-and-removal"]], "5 Verification and Testing": [[0, "verification-and-testing"], [1, "verification-and-testing"], [2, "verification-and-testing"], [3, "verification-and-testing"], [4, "verification-and-testing"], [5, "verification-and-testing"], [6, "verification-and-testing"], [7, "verification-and-testing"], [8, "verification-and-testing"], [9, "verification-and-testing"], [10, "verification-and-testing"], [11, "verification-and-testing"], [12, "verification-and-testing"], [13, "verification-and-testing"], [14, "verification-and-testing"], [15, "verification-and-testing"], [16, "verification-and-testing"], [17, "verification-and-testing"], [18, "verification-and-testing"], [19, "verification-and-testing"], [20, "verification-and-testing"], [21, "verification-and-testing"], [22, "verification-and-testing"], [23, "verification-and-testing"], [24, "verification-and-testing"]], "5.1 Test multiple auxiliary states": [[0, "test-multiple-auxiliary-states"]], "5.2 Test computation": [[0, "test-computation"], [19, "test-computation"]], "Auxiliary variables": [[1, "auxiliary-variables"]], "2.1 Requirement: Functions that compute auxiliary variables should have simple, intuitive calling arguments": [[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": [[1, "requirement-auxiliary-variables-computations-should-be-able-to-be-grouped-under-different-outer-loops-over-mesh-locations"]], "2.3 Requirement: Vectorization on CPU architectures": [[1, "requirement-vectorization-on-cpu-architectures"]], "2.4 Requirement: Configuration options": [[1, "requirement-configuration-options"]], "2.5 Requirement: Output": [[1, "requirement-output"]], "2.6 Desired: Small memory footprint": [[1, "desired-small-memory-footprint"]], "4.2.1 Constructor": [[1, "constructor"], [5, "constructor"], [9, "constructor"], [17, "constructor"], [20, "constructor"]], "4.2.2 Compute methods": [[1, "compute-methods"]], "5.1 Unit testing": [[1, "unit-testing"], [20, "unit-testing"]], "5.2 Convergence testing": [[1, "convergence-testing"], [20, "convergence-testing"]], "Broadcast": [[2, "broadcast"]], "2.1 Requirement: Broadcast all supported data types": [[2, "requirement-broadcast-all-supported-data-types"]], "2.2 Requirement: Broadcast scalars and vectors": [[2, "requirement-broadcast-scalars-and-vectors"]], "2.3 Requirement: Broadcast from any rank": [[2, "requirement-broadcast-from-any-rank"]], "2.4 Desired: Broadcast within alternative environments": [[2, "desired-broadcast-within-alternative-environments"]], "2.5 Desired: Non-blocking broadcast": [[2, "desired-non-blocking-broadcast"]], "4.2.1 Broadcast from master task in default environment": [[2, "broadcast-from-master-task-in-default-environment"]], "4.2.2 Broadcast from another rank within default environment": [[2, "broadcast-from-another-rank-within-default-environment"]], "4.2.3 Broadcast from master rank within a different environment": [[2, "broadcast-from-master-rank-within-a-different-environment"]], "4.2.4 Broadcast from another rank within a different environment": [[2, "broadcast-from-another-rank-within-a-different-environment"]], "4.2.5 Broadcast of vector variables": [[2, "broadcast-of-vector-variables"]], "4.2.6 Non-blocking broadcasts": [[2, "non-blocking-broadcasts"]], "5.1 Test scalars of all data types": [[2, "test-scalars-of-all-data-types"]], "5.2 Test vectors of all types": [[2, "test-vectors-of-all-types"]], "5.3 Test broadcast from other ranks": [[2, "test-broadcast-from-other-ranks"]], "5.4 Test non-blocking broadcasts": [[2, "test-non-blocking-broadcasts"]], "5.5 Test within a subset environment": [[2, "test-within-a-subset-environment"]], "Config": [[3, "config"]], "2.1 Requirement: Human readability": [[3, "requirement-human-readability"]], "2.2 Requirement: Standard format": [[3, "requirement-standard-format"]], "2.3 Requirement: Archiving and provenance": [[3, "requirement-archiving-and-provenance"]], "2.4 Requirement: Internal accessibility": [[3, "requirement-internal-accessibility"]], "2.5 Requirement: Support of data types": [[3, "requirement-support-of-data-types"]], "2.6 Requirement: Efficiency and parallelism": [[3, "requirement-efficiency-and-parallelism"]], "2.8 Desired: Single configuration input": [[3, "desired-single-configuration-input"]], "2.9 Required: Hierarchy or grouping": [[3, "required-hierarchy-or-grouping"]], "2.10 Requirement: Language support": [[3, "requirement-language-support"]], "2.11 Requirement: Optional or missing values": [[3, "requirement-optional-or-missing-values"]], "2.12 Requirement: Extra values": [[3, "requirement-extra-values"]], "2.13 Desired: Automated generation of default input and error checking": [[3, "desired-automated-generation-of-default-input-and-error-checking"]], "2.14 Desired: Acceptable values": [[3, "desired-acceptable-values"]], "4.2.1 File read and master config": [[3, "file-read-and-master-config"]], "4.2.2 Get/Retrieval": [[3, "get-retrieval"], [13, "get-retrieval"]], "4.2.3 Change an existing value": [[3, "change-an-existing-value"]], "4.2.3 Adding new entries": [[3, "adding-new-entries"]], "4.2.4 Existence": [[3, "existence"]], "4.2.5 File write": [[3, "file-write"]], "4.2.6 Constructor/destructor": [[3, "constructor-destructor"]], "4.3 Documentation and Auto-generation of Default Inputs": [[3, "documentation-and-auto-generation-of-default-inputs"]], "5.1 Test default constructor": [[3, "test-default-constructor"]], "5.2 Test Set function": [[3, "test-set-function"]], "5.3 Test Get function": [[3, "test-get-function"]], "5.4 Test for missing variables": [[3, "test-for-missing-variables"]], "5.5 Test write and re-read": [[3, "test-write-and-re-read"]], "DataTypes": [[4, "datatypes"]], "2.1 Requirement: Both flexible and fixed floating point": [[4, "requirement-both-flexible-and-fixed-floating-point"]], "2.2 Desired: Readability for array types": [[4, "desired-readability-for-array-types"]], "2.3 Desired: Fixed width integer types": [[4, "desired-fixed-width-integer-types"]], "2.4 Desired: Interoperability": [[4, "desired-interoperability"]], "2.5 Future: Floating point conversion": [[4, "future-floating-point-conversion"]], "5.1 Test explicit types": [[4, "test-explicit-types"]], "5.2 Test global switch for default real size": [[4, "test-global-switch-for-default-real-size"]], "5.3 Kokkos array test": [[4, "kokkos-array-test"]], "Decomp": [[5, "decomp"]], "2.1 Requirement: Mesh partition": [[5, "requirement-mesh-partition"]], "2.2 Requirement: Metis option": [[5, "requirement-metis-option"]], "2.3 Required: Online partitioning": [[5, "required-online-partitioning"]], "2.4 Required: Input mesh information": [[5, "required-input-mesh-information"]], "2.5 Required: All mesh locations": [[5, "required-all-mesh-locations"]], "2.6 Required: Halo": [[5, "required-halo"]], "2.7 Required: Local to global index mapping": [[5, "required-local-to-global-index-mapping"]], "2.8 Required: Local sorting": [[5, "required-local-sorting"]], "2.9 Required: Release memory": [[5, "required-release-memory"]], "2.10 Desired: Weighted partitioning option": [[5, "desired-weighted-partitioning-option"]], "2.11 Desired: Multiple partitions of same mesh": [[5, "desired-multiple-partitions-of-same-mesh"]], "2.12 Desired: Multiple domains, sub-blocking or coloring": [[5, "desired-multiple-domains-sub-blocking-or-coloring"]], "4.2.2 Destructor": [[5, "destructor"], [9, "destructor"], [17, "destructor"]], "5.1 Test Metis": [[5, "test-metis"]], "5.2 Back compatibility": [[5, "back-compatibility"]], "5.3 Check global IDs": [[5, "check-global-ids"]], "Driver and Component Layer": [[6, "driver-and-component-layer"]], "2.1 Requirement: Component interfaces": [[6, "requirement-component-interfaces"]], "2.2 Requirement: Standalone driver": [[6, "requirement-standalone-driver"]], "2.3 Requirement: Encapsulation and persistent model state": [[6, "requirement-encapsulation-and-persistent-model-state"]], "2.4 Requirement: Managing environments": [[6, "requirement-managing-environments"]], "2.5 Requirement: Run method": [[6, "requirement-run-method"]], "2.6 Requirement: Finalize method": [[6, "requirement-finalize-method"]], "2.7 Requirement: Init method": [[6, "requirement-init-method"]], "4.2.1 Init": [[6, "init"]], "4.2.2 Run": [[6, "run"]], "4.2.3 Finalize": [[6, "finalize"]], "4.2.4 Standalone driver (main)": [[6, "standalone-driver-main"]], "4.2.5 Coupler-component interfaces": [[6, "coupler-component-interfaces"]], "5.1 Test forward model": [[6, "test-forward-model"]], "5.2 Coupled model testing": [[6, "coupled-model-testing"]], "ErrorHandler (Error)": [[7, "errorhandler-error"]], "2.1 Requirement: Logging errors": [[7, "requirement-logging-errors"]], "2.2 Requirement: Levels of error severity": [[7, "requirement-levels-of-error-severity"]], "2.3 Requirement: Abort on error": [[7, "requirement-abort-on-error"]], "2.4 Requirement: Generate stack trace": [[7, "requirement-generate-stack-trace"]], "2.5 Requirement: Identify task id": [[7, "requirement-identify-task-id"]], "2.6 Requirement: Output location": [[7, "requirement-output-location"]], "2.7 Requirement: Success/fail error codes": [[7, "requirement-success-fail-error-codes"]], "2.8 Requirement: Error messages and formatting": [[7, "requirement-error-messages-and-formatting"]], "2.9 Requirement: Accumulated error": [[7, "requirement-accumulated-error"]], "2.10 Desired: Compact error checking": [[7, "desired-compact-error-checking"]], "2.11 Desired: Registering error codes and messages": [[7, "desired-registering-error-codes-and-messages"]], "4.2.1 Macros": [[7, "macros"]], "4.2.2 Other Error methods": [[7, "other-error-methods"]], "5.1 Test all failure modes": [[7, "test-all-failure-modes"]], "Halo": [[8, "halo"]], "2.1 Requirement: Compatible with all types of arrays": [[8, "requirement-compatible-with-all-types-of-arrays"]], "2.2 Requirement: Exchange at all types of mesh elements": [[8, "requirement-exchange-at-all-types-of-mesh-elements"]], "2.3 Requirement: Variable halo depth": [[8, "requirement-variable-halo-depth"]], "2.4 Requirement: Exchange lists": [[8, "requirement-exchange-lists"]], "2.5 Requirement: Send and receive buffers": [[8, "requirement-send-and-receive-buffers"]], "2.6 Requirement: Non-blocking communication": [[8, "requirement-non-blocking-communication"]], "2.7 Requirement: Compatible with device-resident arrays": [[8, "requirement-compatible-with-device-resident-arrays"]], "2.8 Desired: Communicate subset of halo layers": [[8, "desired-communicate-subset-of-halo-layers"]], "2.9 Desired: Exchange multiple arrays simultaneously": [[8, "desired-exchange-multiple-arrays-simultaneously"]], "2.10 Desired: Multiple environments/decompositions": [[8, "desired-multiple-environments-decompositions"]], "2.11 Desired: OpenMP threading": [[8, "desired-openmp-threading"]], "2.12 Desired: Minimize buffer memory allocation/deallocation": [[8, "desired-minimize-buffer-memory-allocation-deallocation"]], "4.2.1 Constructors": [[8, "constructors"]], "4.2.2 Array halo exchange": [[8, "array-halo-exchange"]], "4.2.3 Start receive/send": [[8, "start-receive-send"]], "4.2.4 Buffer pack/unpack": [[8, "buffer-pack-unpack"]], "5.1 Halo exchange tests": [[8, "halo-exchange-tests"]], "Horizontal Mesh": [[9, "horizontal-mesh"], [39, "horizontal-mesh"], [65, "horizontal-mesh"]], "2.1 Requirement: OMEGA will use the previously established MPAS Mesh Spec": [[9, "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": [[9, "requirement-functionality-is-needed-to-read-the-mesh-on-the-host-and-transfer-relevant-data-to-the-device-for-computation"]], "2.3 Requirement: Zero-based cell, edge, and vertex numbering": [[9, "requirement-zero-based-cell-edge-and-vertex-numbering"]], "2.4 Requirement: Work with Decomp class to decompose mesh": [[9, "requirement-work-with-decomp-class-to-decompose-mesh"]], "2.5 Requirement: Mesh variables will be associated with metadata to describe data": [[9, "requirement-mesh-variables-will-be-associated-with-metadata-to-describe-data"]], "2.6 Requirement: I/O to obtain mesh data": [[9, "requirement-i-o-to-obtain-mesh-data"]], "2.7 Desired: Ability to support multiple independent mesh objects": [[9, "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.": [[9, "desired-omega-can-read-in-a-reduced-number-of-mesh-variables-and-compute-the-remaining-array-information-online"]], "4.2.2 Read": [[9, "read"]], "4.2.3 Compute": [[9, "compute"]], "4.2.4 Device copy creation": [[9, "device-copy-creation"]], "4.2.5 Metadata registration": [[9, "metadata-registration"]], "5.1 Test mesh compute routines": [[9, "test-mesh-compute-routines"]], "Input/Output (IO)": [[10, "input-output-io"]], "2.1 Requirement: Read fields and metadata": [[10, "requirement-read-fields-and-metadata"]], "2.2 Requirement: Write fields and metadata": [[10, "requirement-write-fields-and-metadata"]], "2.3 Requirement: Self-describing formats": [[10, "requirement-self-describing-formats"]], "2.4 Requirement: multiple files/streams": [[10, "requirement-multiple-files-streams"]], "2.5 Requirement: parallel I/O": [[10, "requirement-parallel-i-o"]], "2.6 Requirement: parallel I/O tuning": [[10, "requirement-parallel-i-o-tuning"]], "2.7 Requirement: Data types and type conversion": [[10, "requirement-data-types-and-type-conversion"]], "2.8 Requirement: Kokkos arrays and host/device support": [[10, "requirement-kokkos-arrays-and-host-device-support"]], "2.9 Requirement: Modes on file existence": [[10, "requirement-modes-on-file-existence"]], "2.10 Desired: Asynchronous I/O": [[10, "desired-asynchronous-i-o"]], "2.11 Desired: File compression": [[10, "desired-file-compression"]], "4.2.1 Environment constructor": [[10, "environment-constructor"]], "4.2.2 File open/close": [[10, "file-open-close"]], "4.2.3 Write operations": [[10, "write-operations"]], "4.2.4 Read operations": [[10, "read-operations"]], "4.2.5 Defining IO fields": [[10, "defining-io-fields"]], "5.1 Test via IOStreams": [[10, "test-via-iostreams"]], "IOStreams": [[11, "iostreams"]], "2.1 Requirement: Multiple streams": [[11, "requirement-multiple-streams"]], "2.2 Requirement: Reduced precision": [[11, "requirement-reduced-precision"]], "2.3 Requirement: Contents for each stream": [[11, "requirement-contents-for-each-stream"]], "2.4 Requirement: Exact restart": [[11, "requirement-exact-restart"]], "2.5 Requirement: Restart pointer": [[11, "requirement-restart-pointer"]], "2.6 Requirement: Time intervals": [[11, "requirement-time-intervals"]], "2.7 Requirement: Optional start/stop times": [[11, "requirement-optional-start-stop-times"]], "2.8 Requirement: Filenames": [[11, "requirement-filenames"]], "2.9 Requirement: Multiple time slices per file": [[11, "requirement-multiple-time-slices-per-file"]], "2.10 Requirement: Behavior on file existence": [[11, "requirement-behavior-on-file-existence"]], "2.11 Desired: Time averaging": [[11, "desired-time-averaging"]], "2.12 Desired: Data compression": [[11, "desired-data-compression"]], "4.2.1 Create/Destroy": [[11, "create-destroy"]], "4.2.2 Add fields": [[11, "add-fields"]], "4.2.3 Write streams": [[11, "write-streams"]], "4.2.3 Read streams": [[11, "read-streams"]], "5.1 Test All": [[11, "test-all"], [24, "test-all"]], "Logging": [[12, "logging"]], "2.1 Requirement: Basic logging": [[12, "requirement-basic-logging"]], "2.2 Requirement: Inter-operability with E3SM": [[12, "requirement-inter-operability-with-e3sm"]], "2.3 Requirement: Multi-processing": [[12, "requirement-multi-processing"]], "2.4 Requirement: Multi-threading": [[12, "requirement-multi-threading"]], "2.5 Requirement: Omega data types": [[12, "requirement-omega-data-types"]], "2.6 Requirement: Buffered file input/output": [[12, "requirement-buffered-file-input-output"]], "2.7 Desired: Formatter": [[12, "desired-formatter"]], "2.8 Desired: Output sinks": [[12, "desired-output-sinks"]], "2.9 Desired: Local logging": [[12, "desired-local-logging"]], "4.2.1 Log write": [[12, "log-write"]], "5.1 Test OMEGA logging capabilities": [[12, "test-omega-logging-capabilities"]], "5.2 Test OMEGA data type support": [[12, "test-omega-data-type-support"]], "5.3 Test E3SM inter-operability": [[12, "test-e3sm-inter-operability"]], "MachineEnv": [[13, "machineenv"]], "2.1 Requirement: Initialize MPI in Standalone": [[13, "requirement-initialize-mpi-in-standalone"]], "2.2 Requirement: Create MPI communicator in coupled mode": [[13, "requirement-create-mpi-communicator-in-coupled-mode"]], "2.3 Requirement: Define MPI layouts": [[13, "requirement-define-mpi-layouts"]], "2.4 Requirement: Kokkos initialization": [[13, "requirement-kokkos-initialization"]], "2.5 Requirement: Vector blocking size defined at compile time": [[13, "requirement-vector-blocking-size-defined-at-compile-time"]], "2.6 Desired: Set alternative master task": [[13, "desired-set-alternative-master-task"]], "2.7 Desired: Multiple environments": [[13, "desired-multiple-environments"]], "2.8 Desired: Define threading parameters": [[13, "desired-define-threading-parameters"]], "2.9 Desired: Define other machine parameters": [[13, "desired-define-other-machine-parameters"]], "4.1.3 Default environment": [[13, "default-environment"]], "4.2.1 Initialization": [[13, "initialization"]], "4.2.2 Constructors": [[13, "constructors"]], "4.2.3 Change master task": [[13, "change-master-task"]], "5.1 Test standalone initialization": [[13, "test-standalone-initialization"]], "5.2 Test changing master task": [[13, "test-changing-master-task"]], "5.3 Test multiple environments": [[13, "test-multiple-environments"]], "5.4 Initialization in coupled mode": [[13, "initialization-in-coupled-mode"]], "5.5 Test vector blocking factor": [[13, "test-vector-blocking-factor"]], "Metadata": [[14, "metadata"]], "2.1 Requirement: Data types": [[14, "requirement-data-types"]], "2.2 Requirement: Global and variable metadata": [[14, "requirement-global-and-variable-metadata"]], "2.3 Requirement: Metadata conventions": [[14, "requirement-metadata-conventions"]], "2.4 Requirement: Required metadata": [[14, "requirement-required-metadata"]], "2.5 Requirement: Dimensions": [[14, "requirement-dimensions"]], "2.6 Requirement: Available fields": [[14, "requirement-available-fields"]], "2.7 Desired: Metadata groups": [[14, "desired-metadata-groups"]], "4.2.1 Metadata container creation": [[14, "metadata-container-creation"]], "4.2.2 Add/remove metadata": [[14, "add-remove-metadata"]], "4.2.3 Retrieve metadata": [[14, "retrieve-metadata"]], "4.2.4 Create dimension": [[14, "create-dimension"]], "4.2.5 Retrieve dim length": [[14, "retrieve-dim-length"]], "4.2.6 Existence inquiry": [[14, "existence-inquiry"]], "4.2.6.1 Existence inquiry for metadata container and metadim container": [[14, "existence-inquiry-for-metadata-container-and-metadim-container"]], "4.2.6.2 Existence inquiry for metadata": [[14, "existence-inquiry-for-metadata"]], "4.2.7 Metadata groups": [[14, "metadata-groups"]], "5.1 Test creation/retrieval": [[14, "test-creation-retrieval"]], "5.2 Test global metadata": [[14, "test-global-metadata"]], "5.3 Test inquiry functions": [[14, "test-inquiry-functions"]], "5.4 Test metadata groups": [[14, "test-metadata-groups"]], "5.5 Test CF compliance": [[14, "test-cf-compliance"]], "Omega V0: Shallow Water": [[15, "omega-v0-shallow-water"]], "2.1 Omega-0 will solve the nonlinear shallow water equations, plus inactive tracers": [[15, "omega-0-will-solve-the-nonlinear-shallow-water-equations-plus-inactive-tracers"]], "2.2 Numerical method will be the TRiSK formulation": [[15, "numerical-method-will-be-the-trisk-formulation"]], "2.3 Omega-0 will use MPAS format unstructured-mesh domains": [[15, "omega-0-will-use-mpas-format-unstructured-mesh-domains"]], "2.4 Omega-0 will interface with polaris for preprocessing and postprocessing": [[15, "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)": [[15, "omega-0-will-run-portably-on-various-doe-architectures-cpu-and-gpu-nodes"]], "2.6 Omega-0 will run on multi-node with domain decomposition": [[15, "omega-0-will-run-on-multi-node-with-domain-decomposition"]], "2.7 Correct convergence rates of operators and exact solutions": [[15, "correct-convergence-rates-of-operators-and-exact-solutions"]], "2.8 Conservation of volume and tracer": [[15, "conservation-of-volume-and-tracer"]], "2.9 Performance will be at least as good or better than MPAS-Ocean": [[15, "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": [[15, "full-node-gpu-throughput-will-be-comparable-or-better-than-full-node-cpu-throughput"]], "3.1 Governing Equations": [[15, "governing-equations"]], "3.1.1 Continuous Equations": [[15, "continuous-equations"]], "3.1.2 Discrete Equations": [[15, "discrete-equations"]], "3.2 Variable Definitions": [[15, "variable-definitions"]], "3.2 Operator Formulation": [[15, "operator-formulation"]], "3.2.1. Divergence": [[15, "divergence"]], "3.2.2. Gradient": [[15, "gradient"]], "3.2.3. Curl": [[15, "curl"]], "3.2.4. Perpendicular vector component": [[15, "perpendicular-vector-component"]], "3.2.5. Perpendicular Gradient": [[15, "perpendicular-gradient"]], "3.2.6. Cell to Edge Interpolation": [[15, "cell-to-edge-interpolation"]], "3.2.7. Vertex to Edge Interpolation": [[15, "vertex-to-edge-interpolation"]], "3.2.8. Cell to Vertex Interpolation": [[15, "cell-to-vertex-interpolation"]], "3.2.9. Vertex to Cell Interpolation": [[15, "vertex-to-cell-interpolation"]], "3.2.10. Vector from Edge to Cell": [[15, "vector-from-edge-to-cell"]], "3.3 Momentum Terms": [[15, "momentum-terms"]], "3.3.1. Kinetic energy gradient": [[15, "kinetic-energy-gradient"]], "3.3.2. Potential vorticity term": [[15, "potential-vorticity-term"]], "3.3.3. Sea surface height gradient": [[15, "sea-surface-height-gradient"]], "3.3.4. Del2 momentum dissipation": [[15, "del2-momentum-dissipation"]], "3.3.5. Del4 momentum dissipation": [[15, "del4-momentum-dissipation"]], "3.3.6. Rayleigh Drag": [[15, "rayleigh-drag"]], "3.3.7. Bottom drag": [[15, "bottom-drag"]], "3.3.8. Wind forcing": [[15, "wind-forcing"]], "3.4 Thickness and Tracer Terms": [[15, "thickness-and-tracer-terms"]], "3.4.1. Tracer advection": [[15, "tracer-advection"]], "3.4.2. Del2 tracer diffusion": [[15, "del2-tracer-diffusion"]], "3.4.3. Del4 tracer diffusion": [[15, "del4-tracer-diffusion"]], "5.1 Convergence of individual terms": [[15, "convergence-of-individual-terms"]], "5.2 Inertia Gravity Wave: linearized shallow water, no tracers": [[15, "inertia-gravity-wave-linearized-shallow-water-no-tracers"]], "5.3 Manufactured Solution: full nonlinear shallow water, no tracers": [[15, "manufactured-solution-full-nonlinear-shallow-water-no-tracers"]], "5.4 Tracer transport on a sphere": [[15, "tracer-transport-on-a-sphere"]], "5.5 Performance testing": [[15, "performance-testing"]], "5.6 Shallow water tests on spherical domains and with realistic coastlines": [[15, "shallow-water-tests-on-spherical-domains-and-with-realistic-coastlines"]], "5.7 Further tests for Omega-0": [[15, "further-tests-for-omega-0"]], "References": [[15, "references"]], "Global Reductions": [[16, "global-reductions"], [48, "global-reductions"], [74, "global-reductions"]], "2.1 Requirement: Global sums": [[16, "requirement-global-sums"]], "2.2 Requirement: Global min/max": [[16, "requirement-global-min-max"]], "2.3 Requirement: Data types": [[16, "requirement-data-types"]], "2.4 Requirement: Sums with product": [[16, "requirement-sums-with-product"]], "2.5 Requirement: Restricted address space": [[16, "requirement-restricted-address-space"]], "2.6 Requirement: Multiple fields/arrays": [[16, "requirement-multiple-fields-arrays"]], "2.7 Requirement: Other environments/decompositions": [[16, "requirement-other-environments-decompositions"]], "2.8 Requirement: Reproducibility": [[16, "requirement-reproducibility"]], "2.9 Requirement: Accelerators and location": [[16, "requirement-accelerators-and-location"]], "2.10 Requirement: CPU threading": [[16, "requirement-cpu-threading"]], "2.11 Desired: Other reduction operations": [[16, "desired-other-reduction-operations"]], "4.2.1 Global sum": [[16, "global-sum"]], "4.2.2 Global sum with product": [[16, "global-sum-with-product"]], "4.2.3 Global sum multi-field": [[16, "global-sum-multi-field"]], "4.2.4 Global sum multi-field with product": [[16, "global-sum-multi-field-with-product"]], "4.2.5 Global minval": [[16, "global-minval"]], "4.2.6 Global maxval": [[16, "global-maxval"]], "5.1 Test basics": [[16, "test-basics"]], "5.2 Reproducibility": [[16, "reproducibility"]], "5.3 Restricted index range": [[16, "restricted-index-range"]], "5.4 Sum with product": [[16, "sum-with-product"]], "5.5 Multi-field sums": [[16, "multi-field-sums"]], "5.6 Min/Max": [[16, "min-max"]], "State": [[17, "state"]], "2.1 Requirement: State should register prognostic variables with IOStreams": [[17, "requirement-state-should-register-prognostic-variables-with-iostreams"]], "2.2 Requirement: Update timestep": [[17, "requirement-update-timestep"]], "2.3 Requirement: Can be used as a common data type for tendency and provis variables": [[17, "requirement-can-be-used-as-a-common-data-type-for-tendency-and-provis-variables"]], "4.2.3 Time level update": [[17, "time-level-update"]], "5.1 Test read": [[17, "test-read"]], "5.2 Test time level update": [[17, "test-time-level-update"]], "Template": [[18, "template"]], "2.1 Requirement: xxx": [[18, "requirement-xxx"]], "2.2 Requirement: yyy": [[18, "requirement-yyy"]], "2.3 Desired: zzz": [[18, "desired-zzz"]], "5.1 Test xxx": [[18, "test-xxx"]], "5.2 Test yyy": [[18, "test-yyy"]], "Tendencies": [[19, "tendencies"], [49, "tendencies"], [75, "tendencies"]], "2.1 Requirement: Computation of tendency terms": [[19, "requirement-computation-of-tendency-terms"]], "2.2 Requirement: Multiple tendencies can be present": [[19, "requirement-multiple-tendencies-can-be-present"]], "5.1 Test multiple tendencies instances": [[19, "test-multiple-tendencies-instances"]], "Tendency": [[20, "tendency"]], "2.1 Requirement: Tendencies should be able to be grouped under different outer loops over mesh locations.": [[20, "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.": [[20, "requirement-tendency-operator-calls-should-have-simple-intuitive-calling-arguments"]], "2.3 Requirement: Tendencies must allow for vectorization on CPU architectures.": [[20, "requirement-tendencies-must-allow-for-vectorization-on-cpu-architectures"]], "4.2.2 operator": [[20, "operator"]], "TimeManager": [[21, "timemanager"]], "2.1 Required: Simulation time": [[21, "required-simulation-time"]], "2.2 Required: No accumulation roundoff": [[21, "required-no-accumulation-roundoff"]], "2.3 Required: Calendar support": [[21, "required-calendar-support"]], "2.4 Required: Time intervals": [[21, "required-time-intervals"]], "2.5 Required: Events or alarms": [[21, "required-events-or-alarms"]], "2.6 Required: Long times": [[21, "required-long-times"]], "2.7 Required: Time string representation": [[21, "required-time-string-representation"]], "4.1.2.1 TimeFrac class": [[21, "timefrac-class"]], "4.1.2.2 Calendar class": [[21, "calendar-class"]], "4.1.2.3 TimeInstant class": [[21, "timeinstant-class"]], "4.1.2.4 TimeInterval class": [[21, "timeinterval-class"]], "4.1.2.5 Alarm class": [[21, "alarm-class"]], "4.1.2.6 Clock class": [[21, "clock-class"]], "4.2.1 TimeFrac class": [[21, "id1"]], "4.2.2 Calendar class": [[21, "id2"]], "4.2.3 TimeInstant class": [[21, "id3"]], "4.2.4 TimeInterval class": [[21, "id4"]], "4.2.5 Alarm Class": [[21, "id5"]], "4.2.6 Clock Class": [[21, "id6"]], "5.1 Test TimeFrac": [[21, "test-timefrac"]], "5.2 Test TimeInstant": [[21, "test-timeinstant"]], "5.3 Test Calendar": [[21, "test-calendar"]], "5.4 Test Time Intervals": [[21, "test-time-intervals"]], "5.5 Test Alarms": [[21, "test-alarms"]], "5.6 Test Clock": [[21, "test-clock"]], "Time Stepping": [[22, "time-stepping"]], "2.1 Requirement: Accurate discretization of time derivative": [[22, "requirement-accurate-discretization-of-time-derivative"]], "2.2 Requirement: Stability": [[22, "requirement-stability"]], "2.3 Requirement: Performance": [[22, "requirement-performance"]], "2.4 Requirement: Modularity": [[22, "requirement-modularity"]], "2.5 Requirement: Conservation": [[22, "requirement-conservation"]], "2.6 Requirement: The RHS must accept a time argument": [[22, "requirement-the-rhs-must-accept-a-time-argument"]], "3.1 Forward-Backward Scheme": [[22, "forward-backward-scheme"]], "3.2 Other Schemes": [[22, "other-schemes"]], "Timers": [[23, "timers"]], "2.1 Requirement: Timers": [[23, "requirement-timers"]], "2.2 Requirement: Timing statistics": [[23, "requirement-timing-statistics"]], "2.3 Requirement: Timing context": [[23, "requirement-timing-context"]], "2.4 Requirement: Call sequence": [[23, "requirement-call-sequence"]], "2.5 Requirement: Output and E3SM compatibility": [[23, "requirement-output-and-e3sm-compatibility"]], "2.6 Requirement: Full coverage": [[23, "requirement-full-coverage"]], "2.7 Requirement: MPI context": [[23, "requirement-mpi-context"]], "2.8 Desired: Support for multiple devices": [[23, "desired-support-for-multiple-devices"]], "2.9 Desired: Other hardware counters": [[23, "desired-other-hardware-counters"]], "2.10 Desired: Thread support": [[23, "desired-thread-support"]], "2.11 Desired: Memory profiling": [[23, "desired-memory-profiling"]], "2.12 Desired: Interaction with other profiling tools": [[23, "desired-interaction-with-other-profiling-tools"]], "4.2.1 Start": [[23, "start"]], "4.2.2 Stop": [[23, "stop"]], "4.2.3 Print": [[23, "print"]], "4.2.5 Initialize, Finalize": [[23, "initialize-finalize"]], "5.1 Test all internal timers": [[23, "test-all-internal-timers"]], "5.2 Test all timers with GPTL library": [[23, "test-all-timers-with-gptl-library"]], "Tracer Infrastructure": [[24, "tracer-infrastructure"]], "2.1 Requirement: Tracer definition and metadata": [[24, "requirement-tracer-definition-and-metadata"]], "2.2 Requirement: Tracer identification": [[24, "requirement-tracer-identification"]], "2.3 Requirement: Tracer groups": [[24, "requirement-tracer-groups"]], "2.4 Requirement: Tracer selection": [[24, "requirement-tracer-selection"]], "2.5 Requirement: Tracer restart and I/O": [[24, "requirement-tracer-restart-and-i-o"]], "2.6 Requirement: Time levels": [[24, "requirement-time-levels"]], "2.7 Requirement: Acceleration or supercycling": [[24, "requirement-acceleration-or-supercycling"]], "2.8 Desired: Per-tracer/group algorithmic requirements": [[24, "desired-per-tracer-group-algorithmic-requirements"]], "4.1 Data Types and Parameters": [[24, "data-types-and-parameters"]], "4.1.1 Definition": [[24, "definition"]], "4.1.2 Configuration": [[24, "configuration"]], "4.1.3 Classes/Structs/Data Types": [[24, "classes-structs-data-types"]], "4.2.1 init": [[24, "init"]], "4.2.2 define": [[24, "define"]], "4.2.3 getNumTracers": [[24, "getnumtracers"]], "4.2.4 getIndex": [[24, "getindex"]], "4.2.5 getAll": [[24, "getall"]], "4.2.6 getByIndex (Single Tracer)": [[24, "getbyindex-single-tracer"]], "4.2.7 getGroupRange": [[24, "getgrouprange"]], "4.2.8 isGroupMemberByIndex": [[24, "isgroupmemberbyindex"]], "4.2.9 Managing Time Levels": [[24, "managing-time-levels"]], "4.2.10 clear": [[24, "clear"]], "Auxiliary State": [[25, "auxiliary-state"], [55, "auxiliary-state"]], "Initialization": [[25, "initialization"], [49, "initialization"], [52, "initialization"]], "Creation of non-default auxiliary states": [[25, "creation-of-non-default-auxiliary-states"]], "Computation of auxiliary variables": [[25, "computation-of-auxiliary-variables"]], "Removal of auxiliary states": [[25, "removal-of-auxiliary-states"]], "Auxiliary Variables": [[26, "auxiliary-variables"], [56, "auxiliary-variables"]], "Basic class structure": [[26, "basic-class-structure"]], "Configuration enums": [[26, "configuration-enums"]], "Constructor": [[26, "constructor"]], "Compute member functions": [[26, "compute-member-functions"]], "Implemented groups": [[26, "implemented-groups"]], "Omega Broadcast": [[27, "omega-broadcast"], [57, "omega-broadcast"]], "Code Structure": [[27, "code-structure"]], "IBroadcast Interface": [[27, "ibroadcast-interface"]], "Integration with MPI": [[27, "integration-with-mpi"]], "Building the Documentation": [[28, "building-the-documentation"]], "Omega Build with CMake": [[29, "omega-build-with-cmake"]], "Step 1: Setup": [[29, "step-1-setup"]], "Step 2: Update": [[29, "step-2-update"]], "Step 3: Build": [[29, "step-3-build"]], "Step 4: Output": [[29, "step-4-output"]], "Development Conda Environment": [[30, "development-conda-environment"]], "Installing Miniforge3": [[30, "installing-miniforge3"]], "Creating the Conda Environment": [[30, "creating-the-conda-environment"]], "Updating the Conda Environment": [[30, "updating-the-conda-environment"]], "Model Configuration (Config)": [[31, "model-configuration-config"], [58, "model-configuration-config"]], "Data Types and Precision": [[32, "data-types-and-precision"], [59, "data-types-and-precision"]], "Arrays and Kokkos": [[32, "arrays-and-kokkos"]], "Domain Decomposition (Decomp)": [[33, "domain-decomposition-decomp"], [60, "domain-decomposition-decomp"]], "Dimension": [[34, "dimension"], [61, "dimension"]], "Documentation": [[35, "documentation"]], "Driver": [[36, "driver"], [62, "driver"]], "ocnInit": [[36, "ocninit"]], "ocnRun": [[36, "ocnrun"]], "ocnFinalize": [[36, "ocnfinalize"]], "Fields and Metadata (Field)": [[37, "fields-and-metadata-field"], [63, "fields-and-metadata-field"]], "Halo Exchanges (Halo)": [[38, "halo-exchanges-halo"], [64, "halo-exchanges-halo"]], "Horizontal Operators": [[40, "horizontal-operators"], [66, "horizontal-operators"]], "Parallel IO (IO)": [[41, "parallel-io-io"], [67, "parallel-io-io"]], "IO Streams (IOStream)": [[42, "io-streams-iostream"], [68, "io-streams-iostream"]], "Linting Code": [[43, "linting-code"]], "Enabling Lint Checks": [[43, "enabling-lint-checks"]], "Bypassing Linting": [[43, "bypassing-linting"]], "Linting C++ Code": [[43, "linting-c-code"]], "Linting Python Code": [[43, "linting-python-code"]], "Updating the linting pacakge": [[43, "updating-the-linting-pacakge"]], "Developing Omega Logging": [[44, "developing-omega-logging"]], "Initializing Omega Logger": [[44, "initializing-omega-logger"]], "Creating Logging Macros": [[44, "creating-logging-macros"]], "Customer formatter for Kokkos": [[44, "customer-formatter-for-kokkos"]], "Machine Environment (MachEnv)": [[45, "machine-environment-machenv"], [70, "machine-environment-machenv"]], "Ocean State": [[46, "ocean-state"], [71, "ocean-state"]], "Quick Start for Developers": [[47, "quick-start-for-developers"]], "Getting set up": [[47, "getting-set-up"]], "Creating an E3SM fork": [[47, "creating-an-e3sm-fork"]], "Check out the code": [[47, "check-out-the-code"]], "Create a conda environment": [[47, "create-a-conda-environment"]], "Building and testing Omega": [[47, "building-and-testing-omega"]], "Polaris CTest Utility": [[47, "polaris-ctest-utility"]], "Building Omega": [[47, "building-omega"]], "Getting test meshes": [[47, "getting-test-meshes"]], "Running CTests": [[47, "running-ctests"]], "Debugging tips": [[47, "debugging-tips"]], "Metis and Parmetis libraries": [[47, "metis-and-parmetis-libraries"]], "Code development": [[47, "code-development"]], "Code style": [[47, "code-style"]], "VS Code": [[47, "vs-code"]], "Global sum": [[48, "global-sum"]], "Global sum with product": [[48, "global-sum-with-product"]], "Global sum multi-field": [[48, "global-sum-multi-field"]], "Global sum multi-field with product": [[48, "global-sum-multi-field-with-product"]], "Global minval and maxval": [[48, "global-minval-and-maxval"]], "Utility functions globalMin globalMax": [[48, "utility-functions-globalmin-globalmax"]], "Creation of non-default tendencies": [[49, "creation-of-non-default-tendencies"]], "Computation of tendencies": [[49, "computation-of-tendencies"]], "Removal of tendencies": [[49, "removal-of-tendencies"]], "Tendency Terms": [[50, "tendency-terms"], [76, "tendency-terms"]], "Time Manager (TimeMgr)": [[51, "time-manager-timemgr"], [77, "time-manager-timemgr"]], "Class Descriptions": [[51, "class-descriptions"]], "1. TimeFrac": [[51, "timefrac"]], "2. Calendar": [[51, "calendar"]], "3. TimeInstant": [[51, "timeinstant"]], "4. TimeInterval": [[51, "timeinterval"]], "5. Alarm": [[51, "alarm"]], "6. Clock": [[51, "clock"]], "Implementation": [[51, "implementation"]], "Time stepping": [[52, "time-stepping"], [78, "time-stepping"]], "Time stepper type": [[52, "time-stepper-type"]], "TimeStepper base class": [[52, "timestepper-base-class"]], "Do step method": [[52, "do-step-method"]], "Time stepper management methods": [[52, "time-stepper-management-methods"]], "Creation of non-default time steppers": [[52, "creation-of-non-default-time-steppers"]], "Changing the time step": [[52, "changing-the-time-step"]], "Getters": [[52, "getters"]], "Removal of time steppers": [[52, "removal-of-time-steppers"]], "Utility methods": [[52, "utility-methods"]], "Implemented time steppers": [[52, "implemented-time-steppers"]], "Tracers": [[53, "tracers"], [79, "tracers"]], "Concepts": [[53, "concepts"]], "Arrays in Host and Device Memory": [[53, "arrays-in-host-and-device-memory"]], "Tracer Groups": [[53, "tracer-groups"]], "Time Levels": [[53, "time-levels"]], "Initialization and Finalization": [[53, "initialization-and-finalization"]], "Key APIs": [[53, "key-apis"]], "getAll and getAllHost": [[53, "getall-and-getallhost"]], "getGroupRange": [[53, "getgrouprange"]], "getByIndex and getHostByIndex": [[53, "getbyindex-and-gethostbyindex"]], "getIndex": [[53, "getindex"]], "getFieldByIndex": [[53, "getfieldbyindex"]], "updateTimeLevels": [[53, "updatetimelevels"]], "getNumTracers": [[53, "getnumtracers"]], "Omega": [[54, "omega"]], "User's guide": [[54, null]], "Developer's guide": [[54, null]], "Design documents": [[54, null]], "Broadcasting Functions": [[57, "broadcasting-functions"]], "Blocking Broadcasting Functions": [[57, "blocking-broadcasting-functions"]], "Including the Broadcasting Functions in Your Code": [[57, "including-the-broadcasting-functions-in-your-code"]], "Broadcasting Scalar or Array Values": [[57, "broadcasting-scalar-or-array-values"]], "Specifying broadcasting task and/or environment in Omega": [[57, "specifying-broadcasting-task-and-or-environment-in-omega"]], "Broadcasting Array Values": [[57, "broadcasting-array-values"]], "Supported Data Types for Broadcasting": [[57, "supported-data-types-for-broadcasting"]], "Non-blocking Broadcasting Functions": [[57, "non-blocking-broadcasting-functions"]], "Omega Logging": [[69, "omega-logging"]], "Logging in Standalone Build mode": [[69, "logging-in-standalone-build-mode"]], "E3SM Component Build": [[69, "e3sm-component-build"], [72, "e3sm-component-build"]], "CMake-based Omega Build": [[72, "cmake-based-omega-build"]], "Standalone Build": [[72, "standalone-build"]], "Manual Preparation for E3SM Component Build": [[72, "manual-preparation-for-e3sm-component-build"]], "Quick Start for Users": [[73, "quick-start-for-users"]], "Quick Start for Users is coming soon": [[73, null]], "Updating tracer defintions in TracerDefs.inc file": [[79, "updating-tracer-defintions-in-tracerdefs-inc-file"]], "Selecting tracers using YAML configuration file": [[79, "selecting-tracers-using-yaml-configuration-file"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["design/AuxiliaryState", "design/AuxiliaryVariables", "design/Broadcast", "design/Config", "design/DataTypes", "design/Decomp", "design/Driver", "design/Error", "design/Halo", "design/HorzMeshClass", "design/IO", "design/IOStreams", "design/Logging", "design/MachEnv", "design/Metadata", "design/OmegaV0ShallowWater", "design/Reductions", "design/State", "design/Template", "design/Tendencies", "design/Tendency", "design/TimeMgr", "design/TimeStepping", "design/Timers", "design/Tracers", "devGuide/AuxiliaryState", "devGuide/AuxiliaryVariables", "devGuide/Broadcast", "devGuide/BuildDocs", "devGuide/CMakeBuild", "devGuide/CondaEnv", "devGuide/Config", "devGuide/DataTypes", "devGuide/Decomp", "devGuide/Dimension", "devGuide/Docs", "devGuide/Driver", "devGuide/Field", "devGuide/Halo", "devGuide/HorzMesh", "devGuide/HorzOperators", "devGuide/IO", "devGuide/IOStreams", "devGuide/Linting", "devGuide/Logging", "devGuide/MachEnv", "devGuide/OceanState", "devGuide/QuickStart", "devGuide/Reductions", "devGuide/Tendencies", "devGuide/TendencyTerms", "devGuide/TimeMgr", "devGuide/TimeStepping", "devGuide/Tracers", "index", "userGuide/AuxiliaryState", "userGuide/AuxiliaryVariables", "userGuide/Broadcast", "userGuide/Config", "userGuide/DataTypes", "userGuide/Decomp", "userGuide/Dimension", "userGuide/Driver", "userGuide/Field", "userGuide/Halo", "userGuide/HorzMesh", "userGuide/HorzOperators", "userGuide/IO", "userGuide/IOStreams", "userGuide/Logging", "userGuide/MachEnv", "userGuide/OceanState", "userGuide/OmegaBuild", "userGuide/QuickStart", "userGuide/Reductions", "userGuide/Tendencies", "userGuide/TendencyTerms", "userGuide/TimeMgr", "userGuide/TimeStepping", "userGuide/Tracers"], "filenames": ["design/AuxiliaryState.md", "design/AuxiliaryVariables.md", "design/Broadcast.md", "design/Config.md", "design/DataTypes.md", "design/Decomp.md", "design/Driver.md", "design/Error.md", "design/Halo.md", "design/HorzMeshClass.md", "design/IO.md", "design/IOStreams.md", "design/Logging.md", "design/MachEnv.md", "design/Metadata.md", "design/OmegaV0ShallowWater.md", "design/Reductions.md", "design/State.md", "design/Template.md", "design/Tendencies.md", "design/Tendency.md", "design/TimeMgr.md", "design/TimeStepping.md", "design/Timers.md", "design/Tracers.md", "devGuide/AuxiliaryState.md", "devGuide/AuxiliaryVariables.md", "devGuide/Broadcast.md", "devGuide/BuildDocs.md", "devGuide/CMakeBuild.md", "devGuide/CondaEnv.md", "devGuide/Config.md", "devGuide/DataTypes.md", "devGuide/Decomp.md", "devGuide/Dimension.md", "devGuide/Docs.md", "devGuide/Driver.md", "devGuide/Field.md", "devGuide/Halo.md", "devGuide/HorzMesh.md", "devGuide/HorzOperators.md", "devGuide/IO.md", "devGuide/IOStreams.md", "devGuide/Linting.md", "devGuide/Logging.md", "devGuide/MachEnv.md", "devGuide/OceanState.md", "devGuide/QuickStart.md", "devGuide/Reductions.md", "devGuide/Tendencies.md", "devGuide/TendencyTerms.md", "devGuide/TimeMgr.md", "devGuide/TimeStepping.md", "devGuide/Tracers.md", "index.md", "userGuide/AuxiliaryState.md", "userGuide/AuxiliaryVariables.md", "userGuide/Broadcast.md", "userGuide/Config.md", "userGuide/DataTypes.md", "userGuide/Decomp.md", "userGuide/Dimension.md", "userGuide/Driver.md", "userGuide/Field.md", "userGuide/Halo.md", "userGuide/HorzMesh.md", "userGuide/HorzOperators.md", "userGuide/IO.md", "userGuide/IOStreams.md", "userGuide/Logging.md", "userGuide/MachEnv.md", "userGuide/OceanState.md", "userGuide/OmegaBuild.md", "userGuide/QuickStart.md", "userGuide/Reductions.md", "userGuide/Tendencies.md", "userGuide/TendencyTerms.md", "userGuide/TimeMgr.md", "userGuide/TimeStepping.md", "userGuide/Tracers.md"], "titles": ["AuxiliaryState", "Auxiliary variables", "Broadcast", "Config", "DataTypes", "Decomp", "Driver and Component Layer", "ErrorHandler (Error)", "Halo", "Horizontal Mesh", "Input/Output (IO)", "IOStreams", "Logging", "MachineEnv", "Metadata", "Omega V0: Shallow Water", "Global Reductions", "State", "Template", "Tendencies", "Tendency", "TimeManager", "Time Stepping", "Timers", "Tracer Infrastructure", "Auxiliary State", "Auxiliary Variables", "Omega Broadcast", "Building the Documentation", "Omega Build with CMake", "Development Conda Environment", "Model Configuration (Config)", "Data Types and Precision", "Domain Decomposition (Decomp)", "Dimension", "Documentation", "Driver", "Fields and Metadata (Field)", "Halo Exchanges (Halo)", "Horizontal Mesh", "Horizontal Operators", "Parallel IO (IO)", "IO Streams (IOStream)", "Linting Code", "Developing Omega Logging", "Machine Environment (MachEnv)", "Ocean State", "Quick Start for Developers", "Global Reductions", "Tendencies", "Tendency Terms", "Time Manager (TimeMgr)", "Time stepping", "Tracers", "Omega", "Auxiliary State", "Auxiliary Variables", "Omega Broadcast", "Model Configuration (Config)", "Data Types and Precision", "Domain Decomposition (Decomp)", "Dimension", "Driver", "Fields and Metadata (Field)", "Halo Exchanges (Halo)", "Horizontal Mesh", "Horizontal Operators", "Parallel IO (IO)", "IO Streams (IOStream)", "Omega Logging", "Machine Environment (MachEnv)", "Ocean State", "CMake-based Omega Build", "Quick Start for Users", "Global Reductions", "Tendencies", "Tendency Terms", "Time Manager (TimeMgr)", "Time stepping", "Tracers"], "terms": {"The": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 26, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79], "provid": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 23, 24, 25, 26, 27, 31, 32, 34, 35, 37, 40, 41, 42, 45, 47, 48, 49, 51, 52, 55, 58, 61, 63, 66, 67, 68, 69, 71, 72, 75, 76, 78], "contain": [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 16, 17, 19, 20, 21, 23, 24, 26, 31, 33, 34, 35, 37, 38, 39, 40, 41, 44, 45, 46, 50, 51, 53, 55, 58, 60, 64, 65, 68, 71, 72, 75, 79], "subdomain": [0, 5, 17, 19, 33, 39, 60, 64], "within": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 23, 27, 29, 31, 32, 33, 35, 40, 41, 44, 46, 53, 58, 63, 68, 70, 72, 76, 78], "omega": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 24, 25, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 73, 75, 77, 78, 79], "It": [0, 1, 2, 3, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 26, 29, 31, 34, 36, 37, 38, 39, 44, 47, 49, 51, 52, 53, 58, 64, 65, 66, 67, 68, 69, 78], "field": [0, 1, 3, 5, 6, 8, 15, 17, 24, 34, 41, 42, 51, 53, 54, 58, 68, 79], "its": [0, 1, 8, 11, 12, 13, 20, 21, 23, 24, 25, 30, 31, 37, 40, 47, 49, 52, 66], "constructor": [0, 11, 14, 19, 21, 31, 38, 39, 45, 49, 50, 51, 54], "facilit": [0, 5, 7, 8, 12, 15, 17, 29], "output": [0, 3, 6, 9, 11, 14, 15, 17, 21, 24, 26, 32, 36, 37, 41, 42, 51, 54, 56, 58, 67, 68, 72], "At": [0, 3, 5, 10, 11, 23, 24, 27, 42, 47, 72], "minimum": [0, 3, 5, 8, 10, 11, 12, 14, 16, 23, 39, 60, 72], "all": [0, 3, 6, 9, 10, 12, 14, 15, 16, 18, 19, 21, 22, 25, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, 53, 57, 58, 59, 60, 63, 64, 65, 67, 68, 70, 72, 76, 79], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 76, 77, 78, 79], "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 47, 49, 50, 51, 52, 53, 56, 60, 63, 64, 65, 66, 67, 68, 69, 70, 72, 76, 79], "conveni": [0, 24, 47, 49, 52, 68], "function": [0, 2, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 27, 31, 32, 34, 36, 37, 38, 40, 41, 42, 44, 45, 46, 49, 50, 51, 52, 53, 54, 64, 65, 69, 72, 76, 79], "just": [0, 2, 3, 15, 30, 31, 33, 43], "subset": [0, 10, 12, 13, 16, 23, 24, 29, 45, 57, 60, 67, 68, 70], "them": [0, 1, 3, 9, 15, 19, 21, 22, 25, 28, 31, 35, 47, 51, 53, 58], "might": [0, 3, 4, 5, 7, 8, 13, 15, 16, 21, 22, 23, 24, 26, 31, 33, 35, 48, 53, 58, 67, 68], "also": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 23, 24, 29, 30, 31, 34, 35, 36, 37, 38, 41, 42, 43, 45, 46, 47, 51, 52, 53, 56, 58, 60, 63, 65, 68, 69, 72], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 72, 74, 76, 77, 78], "There": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 26, 29, 31, 45, 47, 51, 55, 59, 60, 63, 66, 67, 68, 75], "creat": [0, 2, 3, 4, 5, 8, 9, 12, 16, 19, 21, 23, 24, 25, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 45, 46, 49, 51, 52, 54, 58, 63, 65, 69, 72], "non": [0, 3, 4, 5, 6, 7, 11, 14, 15, 16, 19, 21, 24, 27, 31, 38, 41, 45, 46, 51, 54, 62, 67, 68, 71], "default": [0, 1, 5, 7, 8, 10, 12, 16, 19, 21, 23, 24, 29, 31, 32, 33, 36, 37, 38, 39, 41, 44, 45, 46, 47, 48, 53, 54, 57, 58, 59, 60, 64, 67, 69, 70, 72, 78, 79], "associ": [0, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 22, 23, 24, 34, 37, 38, 41, 42, 45, 46, 47, 51, 52, 53, 58, 60, 61, 63, 65, 66], "differ": [0, 3, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 21, 23, 24, 26, 29, 37, 38, 41, 47, 51, 52, 56, 67, 69, 70, 78], "mesh": [0, 3, 6, 10, 11, 14, 19, 25, 26, 33, 34, 37, 40, 46, 49, 50, 52, 54, 58, 60, 66, 72], "No": [0, 2, 4, 6, 7, 8, 11, 12, 13, 14, 17, 19, 51, 62, 77, 78], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "object": [0, 8, 14, 19, 36, 38, 39, 46, 49, 50, 51, 52, 53, 64, 76], "repres": [0, 3, 9, 12, 19, 21, 24, 26, 38, 51, 52, 53, 58], "group": [0, 2, 5, 8, 11, 15, 19, 25, 31, 37, 45, 49, 52, 54, 57, 63, 68, 79], "string": [0, 1, 2, 3, 7, 10, 11, 14, 19, 23, 24, 25, 26, 31, 34, 37, 38, 41, 42, 43, 46, 49, 51, 52, 53, 57, 58, 62, 68, 69, 78], "name": [0, 1, 2, 3, 10, 11, 12, 14, 15, 19, 21, 23, 24, 25, 26, 29, 31, 33, 34, 36, 37, 38, 39, 41, 42, 45, 46, 47, 49, 51, 52, 53, 56, 58, 60, 62, 65, 66, 68, 71, 72, 76, 78, 79], "metadata": [0, 1, 8, 11, 16, 17, 21, 26, 34, 41, 42, 54, 61], "pointer": [0, 9, 10, 14, 16, 19, 21, 24, 25, 31, 37, 38, 41, 45, 46, 49, 51, 52, 68], "addition": [0, 9, 12, 15, 19, 26, 52], "have": [0, 2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 26, 28, 30, 32, 33, 37, 38, 41, 42, 44, 45, 46, 47, 49, 51, 52, 65, 67, 68, 76, 78], "static": [0, 6, 7, 10, 11, 13, 14, 19, 21, 23, 24, 25, 26, 31, 36, 49, 52, 53, 72, 79], "map": [0, 3, 7, 14, 15, 19, 24, 25, 31, 37, 38, 41, 42, 45, 49, 58], "quick": [0, 19, 21, 35, 54], "public": [0, 1, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 23, 24, 26, 33, 39, 45, 47, 51], "std": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 14, 16, 19, 21, 23, 24, 26, 31, 34, 37, 38, 41, 42, 46, 48, 51, 52, 53, 57, 69], "groupnam": [0, 3, 24, 31, 37, 53], "kineticauxvar": [0, 26], "kineticaux": 0, "layerthicknessauxvar": [0, 1, 26], "layerthicknessaux": 0, "vorticityauxvar": [0, 26], "vorticityaux": 0, "velocitydel2auxvar": [0, 26], "velocitydel2aux": 0, "more": [0, 1, 3, 4, 7, 12, 15, 16, 21, 23, 26, 27, 31, 32, 33, 36, 37, 43, 58, 60, 61, 67, 68, 69], "futur": [0, 5, 6, 9, 11, 13, 15, 16, 18, 23, 31, 35, 37, 60, 65], "privat": [0, 1, 5, 7, 8, 9, 10, 11, 13, 14, 19, 20, 21, 23, 24, 26, 31, 38, 39, 49, 50], "const": [0, 1, 2, 10, 11, 13, 14, 16, 19, 20, 21, 23, 24, 26, 46, 48, 51, 52, 53, 57], "horzmesh": [0, 1, 9, 19, 20, 25, 26, 39, 40, 46, 49, 50], "defaultauxst": 0, "unique_ptr": [0, 19], "allauxst": [0, 25], "destructor": [0, 11, 14, 19, 21], "sever": [0, 9, 11, 12, 13, 15, 17, 19, 24, 30, 37, 39, 45, 47, 69, 72], "make": [0, 3, 5, 7, 13, 14, 15, 19, 21, 23, 28, 41, 42, 47, 65, 72], "sure": [0, 5, 19, 21, 42, 47], "everi": [0, 6, 8, 10, 11, 13, 19, 24, 25, 26, 33, 35, 49, 51, 52, 56, 67, 68], "properli": [0, 13, 19, 44], "store": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19, 21, 24, 25, 26, 31, 33, 34, 36, 37, 38, 40, 45, 48, 49, 50, 51, 52, 53, 58, 60, 68, 70, 76], "howev": [0, 3, 5, 6, 7, 9, 11, 15, 19, 22, 23, 30, 37, 40, 42, 51, 58, 68, 72], "new": [0, 2, 6, 7, 11, 13, 14, 16, 17, 19, 21, 23, 31, 34, 35, 37, 45, 46, 47, 51, 52, 53, 68, 79], "enforc": [0, 3, 4, 14, 19, 37, 43, 47, 63, 70], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 57, 58, 60, 61, 63, 65, 67, 68, 69, 71, 72, 77, 78], "respons": [0, 1, 7, 9, 17, 19, 20, 23, 24, 25, 41, 49, 67], "construct": [0, 3, 10, 14, 16, 21, 23, 36, 38, 40, 50, 64, 72], "o": [0, 1, 3, 5, 11, 14, 15, 17, 21, 30, 31, 37, 39, 41, 47, 58, 65, 67, 68], "infrastructur": [0, 1, 5, 9, 13, 15, 17, 42, 44, 46, 52, 54, 55, 71], "int": [0, 1, 2, 4, 6, 7, 8, 10, 11, 13, 14, 17, 18, 19, 20, 21, 24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 45, 46, 48, 50, 52, 53, 57, 69], "nvertlevel": [0, 1, 16, 19, 25, 26, 32, 37, 40, 41, 48, 49, 50], "take": [0, 1, 6, 8, 10, 11, 13, 15, 18, 19, 20, 24, 26, 31, 35, 41, 42, 47, 49, 50, 51, 54, 72], "same": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 16, 19, 21, 22, 26, 30, 37, 40, 43, 44, 51, 58, 68, 72, 78], "argument": [0, 2, 3, 5, 6, 7, 8, 10, 12, 14, 16, 19, 26, 27, 37, 40, 41, 43, 44, 45, 49, 50, 53, 57, 69, 79], "put": [0, 19, 21, 47], "return": [0, 2, 3, 5, 6, 7, 8, 10, 11, 13, 14, 16, 19, 21, 24, 25, 31, 36, 41, 45, 48, 49, 51, 52, 53, 57], "newli": [0, 3, 19, 25, 41, 49, 52], "init": [0, 3, 19, 25, 33, 36, 37, 38, 39, 41, 42, 45, 46, 47, 49, 51, 53], "an": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 60, 67, 68, 69, 70, 72, 75, 77, 78], "error": [0, 2, 5, 6, 8, 10, 11, 12, 13, 14, 15, 19, 21, 24, 28, 31, 33, 36, 41, 48, 51, 53, 54, 68, 69], "code": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 35, 36, 37, 44, 48, 52, 53, 54, 59, 68, 69, 70, 77], "get": [0, 1, 14, 18, 19, 20, 21, 24, 25, 30, 31, 34, 35, 37, 38, 40, 45, 49, 50, 51, 52, 53, 54, 57, 72], "getdefault": [0, 19, 25, 33, 34, 38, 39, 40, 45, 46, 49, 50, 52], "computeal": [0, 19, 25], "ocean": [0, 6, 19, 22, 25, 36, 47, 49, 54, 58, 62, 65], "from": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 56, 57, 60, 65, 66, 67, 68, 70, 72, 77], "given": [0, 1, 3, 5, 8, 10, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 31, 33, 37, 40, 45, 46, 48, 49, 50, 51, 52, 53, 60, 65, 79], "time": [0, 3, 4, 6, 7, 8, 10, 12, 14, 15, 16, 19, 25, 26, 31, 35, 36, 37, 38, 42, 45, 46, 47, 49, 54, 56, 60, 62, 68, 71, 72], "level": [0, 1, 3, 5, 6, 11, 12, 14, 15, 19, 20, 23, 25, 29, 32, 36, 37, 41, 46, 49, 52, 59, 68, 69, 71], "void": [0, 1, 19, 20, 21, 24, 26, 39, 46, 52, 53, 79], "oceanst": [0, 19, 46, 52, 71], "timelevel": [0, 17, 19, 24, 25, 46, 52, 53], "unregist": 0, "eras": [0, 19, 25, 33, 42, 49, 52], "wherea": [0, 19], "clear": [0, 3, 15, 18, 19, 22, 23, 25, 33, 34, 37, 39, 46, 49, 52], "both": [0, 3, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 19, 21, 23, 24, 26, 29, 32, 35, 36, 37, 41, 47, 48, 62, 72, 78], "call": [0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 21, 24, 25, 26, 31, 33, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 57, 58, 64, 67, 69, 70, 76, 79], "process": [0, 3, 5, 8, 9, 10, 14, 15, 19, 21, 24, 29, 31, 33, 41, 42, 44, 52, 57, 64, 67, 70, 72], "check": [0, 2, 8, 11, 14, 19, 21, 24, 28, 31, 42, 51, 54], "work": [0, 1, 10, 12, 15, 19, 20, 21, 45, 72], "ensur": [0, 5, 6, 7, 8, 12, 14, 16, 17, 19, 29, 33, 44, 47, 52, 67], "correctli": [0, 6, 12, 17, 19, 21, 23, 37, 47, 57], "tendenc": [1, 9, 15, 22, 24, 25, 39, 40, 46, 52, 54], "term": [1, 9, 17, 20, 22, 35, 40, 49, 54, 60, 75], "advanc": [1, 6, 15, 17, 21, 22, 24, 26, 31, 36, 37, 46, 51, 52, 56, 78], "model": [1, 2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 26, 29, 36, 37, 38, 41, 45, 46, 51, 52, 54, 56, 60, 62, 63, 68, 70, 78], "state": [1, 15, 18, 19, 21, 26, 37, 40, 49, 52, 54, 56, 63, 68, 76], "while": [1, 3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 23, 24, 31, 37, 51, 57, 79], "thei": [1, 3, 5, 7, 8, 11, 13, 14, 15, 19, 20, 21, 23, 24, 26, 27, 31, 32, 38, 40, 43, 47, 50, 51, 53, 58, 63, 65, 67, 68, 78], "onli": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 26, 31, 32, 34, 37, 38, 41, 45, 46, 49, 51, 52, 53, 58, 59, 60, 62, 64, 67, 68, 69, 78], "diagnost": [1, 15, 16, 23, 40], "purpos": [1, 3, 7, 9, 12, 14, 15, 23, 32, 37, 40, 44, 47, 54], "can": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 53, 56, 58, 60, 62, 63, 64, 65, 67, 68, 69, 70, 72, 76, 77, 78], "often": [1, 2, 10, 11, 16, 23, 24, 40, 41, 42], "bundl": 1, "togeth": [1, 10, 15, 21, 25, 26, 37, 49, 63], "logic": [1, 3, 10, 14, 41, 45], "relat": [1, 5, 7, 9, 10, 11, 13, 21, 23, 24, 28, 35, 41, 42, 44, 62], "effici": [1, 5, 8, 10, 12, 27, 67], "each": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20, 21, 24, 26, 30, 31, 33, 34, 35, 36, 38, 40, 41, 42, 43, 45, 47, 49, 50, 51, 52, 53, 58, 61, 62, 63, 65, 66, 67, 68, 76, 79], "implement": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 16, 18, 20, 22, 23, 24, 27, 32, 33, 35, 37, 40, 42, 45, 50, 53, 54, 58, 63, 66, 67, 72, 76, 78], "arrai": [1, 3, 5, 6, 11, 13, 14, 15, 19, 21, 24, 26, 33, 34, 37, 38, 39, 40, 41, 42, 46, 48, 49, 50, 51, 54, 60, 63, 64, 67, 75, 76], "": [1, 3, 5, 11, 12, 15, 21, 22, 24, 26, 31, 35, 44, 47, 51, 56, 57, 58, 60, 63, 65, 68, 69, 70, 72, 74], "member": [1, 5, 8, 13, 14, 20, 23, 24, 33, 34, 37, 38, 39, 45, 46, 49, 50, 51, 52, 53, 54, 68, 76], "chunk": [1, 13, 20, 26, 38, 40, 50, 67], "vertic": [1, 8, 9, 15, 20, 24, 25, 26, 33, 34, 40, 46, 49, 50, 53, 56, 60, 65], "particular": [1, 2, 3, 8, 10, 11, 14, 15, 20, 24, 32, 33, 38, 41, 51, 65, 67, 76, 77], "mai": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 26, 30, 31, 32, 37, 47, 53, 56, 58, 63, 67, 68, 72, 78], "than": [1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 14, 16, 21, 23, 26, 30, 31, 33, 37, 41, 47, 51, 67, 68], "one": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21, 22, 24, 26, 29, 33, 37, 41, 43, 45, 51, 52, 53, 59, 67, 68, 72, 78, 79], "sinc": [1, 3, 10, 11, 13, 15, 21, 26, 37, 47, 51, 63, 67, 77], "some": [1, 2, 3, 5, 7, 9, 10, 11, 13, 15, 16, 17, 21, 23, 24, 26, 31, 32, 33, 34, 35, 37, 40, 47, 51, 52, 56, 59, 61, 67, 72, 76], "defin": [1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 15, 16, 18, 20, 21, 23, 26, 29, 31, 32, 33, 34, 36, 37, 38, 41, 42, 44, 45, 48, 51, 52, 53, 56, 59, 61, 62, 63, 64, 66, 68, 70, 72, 76, 79], "element": [1, 15, 16, 26, 38, 40, 48, 50, 52, 66], "approach": [1, 5, 16, 20, 21, 44, 67], "allow": [1, 3, 5, 7, 8, 9, 12, 15, 16, 21, 22, 23, 24, 30, 31, 32, 37, 39, 41, 44, 46, 49, 51, 53, 79], "flexibl": [1, 9, 12, 17, 20, 57], "larger": [1, 4, 6, 12, 20, 23], "cell": [1, 5, 8, 10, 16, 20, 24, 32, 33, 34, 38, 39, 40, 41, 53, 56, 60, 65, 76], "edg": [1, 5, 8, 10, 16, 20, 26, 33, 38, 39, 56, 60, 65, 76], "vertex": [1, 5, 10, 20, 33, 38, 39, 65], "import": [1, 3, 6, 14, 18, 20, 43], "optim": [1, 5, 9, 10, 13, 15, 20, 33, 41, 60, 67, 70], "across": [1, 3, 5, 6, 8, 10, 15, 16, 20, 23, 33, 34, 37, 38, 41, 48, 60, 67], "devic": [1, 4, 13, 16, 17, 20, 24, 32, 33, 37, 39, 46, 48, 64], "constant": [1, 3, 15, 16, 18, 20, 22, 49, 50], "which": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 26, 29, 30, 31, 33, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 49, 50, 51, 60, 63, 65, 68, 72, 76, 77, 78], "simplifi": [1, 2, 20, 21, 24], "abil": [1, 3, 5, 7, 8, 16, 20, 21, 23, 47], "fuse": [1, 20], "separ": [1, 5, 7, 8, 9, 10, 12, 15, 20, 21, 23, 37, 38, 47, 50, 51, 52, 53, 58, 62, 66, 67, 68, 72], "specif": [1, 3, 7, 8, 9, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, 27, 29, 31, 32, 33, 39, 40, 47, 49, 52, 53, 57, 58, 59, 65, 68, 72, 78], "inner": [1, 13, 20], "size": [1, 8, 9, 10, 11, 12, 16, 20, 33, 37, 41, 63], "set": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 20, 21, 22, 23, 24, 28, 29, 31, 35, 37, 39, 40, 41, 43, 44, 45, 51, 52, 53, 54, 60, 62, 64, 67, 68, 69, 70, 72, 76, 78], "length": [1, 13, 15, 16, 20, 21, 24, 29, 33, 34, 41, 45, 48, 51, 53, 65, 70], "machin": [1, 2, 5, 10, 15, 16, 20, 21, 22, 23, 29, 33, 34, 38, 43, 47, 54, 57, 64, 72], "gpu": [1, 8, 13, 20, 22, 26, 33, 45, 47, 70, 72], "possibl": [1, 4, 6, 7, 8, 11, 12, 13, 14, 16, 20, 22, 24, 25, 49], "base": [1, 2, 5, 6, 8, 10, 12, 13, 14, 15, 21, 23, 24, 27, 29, 30, 31, 33, 34, 37, 38, 41, 42, 47, 51, 53, 54, 58, 67, 70, 79], "retriev": [1, 6, 21, 24, 25, 26, 27, 31, 33, 34, 36, 37, 38, 39, 41, 45, 46, 49, 51, 52, 53, 60, 63, 70], "config": [1, 5, 14, 19, 20, 29, 33, 35, 36, 50, 54, 60, 62, 68, 78, 79], "enum": [1, 3, 5, 8, 10, 16, 21, 37, 38, 41, 51, 52, 54], "do": [1, 3, 5, 7, 13, 14, 15, 23, 24, 25, 30, 37, 47, 49], "thing": [1, 7, 35], "regist": [1, 9, 24, 25, 26, 37, 46, 55, 63, 71], "iostream": [1, 25, 34, 37, 41, 54, 63, 67], "anoth": [1, 3, 5, 7, 14, 15, 21, 35], "afterward": [1, 3, 72], "find": [1, 16, 72], "manag": [1, 4, 7, 8, 10, 11, 12, 13, 14, 16, 21, 23, 25, 36, 41, 42, 49, 53, 54, 62, 72, 78, 79], "strategi": [1, 9], "would": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 22, 23, 24, 31, 41, 43, 45, 47, 57, 67, 77], "minim": [1, 6, 7, 10, 15, 58], "amount": [1, 15, 51], "persist": [1, 8, 14], "found": [1, 3, 15, 20, 27, 31, 34, 51, 53, 58, 60, 63, 65], "document": [1, 5, 7, 10, 15, 20, 21, 22, 24, 30, 32, 47, 67, 69], "exampl": [1, 3, 5, 7, 10, 11, 12, 13, 14, 15, 16, 21, 22, 24, 26, 31, 32, 34, 35, 37, 40, 41, 42, 46, 51, 53, 56, 57, 58, 67, 68, 69, 72, 79], "fluxthicktyp": 1, "center": [1, 15, 26, 56, 65, 76], "upwind": [1, 15, 26, 56], "These": [1, 3, 5, 6, 7, 8, 10, 12, 13, 15, 16, 21, 24, 27, 34, 37, 39, 44, 45, 47, 48, 51, 52, 53, 57, 60, 67, 68, 70, 76], "read": [1, 5, 13, 14, 24, 31, 33, 36, 39, 41, 42, 58, 60, 65, 67, 68, 72], "input": [1, 6, 7, 8, 9, 11, 13, 14, 15, 17, 21, 24, 26, 31, 36, 40, 41, 42, 50, 51, 54, 56, 58, 60, 63, 67, 68, 72], "file": [1, 4, 5, 6, 7, 8, 9, 14, 15, 18, 23, 24, 26, 27, 29, 30, 31, 35, 36, 37, 38, 41, 42, 43, 44, 47, 51, 53, 54, 56, 57, 58, 60, 63, 67, 68, 69, 72, 76, 77, 78], "advect": [1, 24, 56, 60, 76], "fluxthicknesstyp": [1, 56], "insid": [1, 40, 50], "choic": [1, 3, 16, 21, 24, 26, 28, 31, 52, 58, 78], "ani": [1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 18, 20, 21, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 45, 48, 49, 50, 51, 52, 62, 63, 64, 68, 69, 70, 72], "array2dr": [1, 19, 20, 24, 26, 46, 53], "fluxlayerthickedg": [1, 26, 56], "meanlayerthickedg": [1, 26, 56], "fluxthickchoic": 1, "kokkos_funct": [1, 20, 26], "computevarsonedg": [1, 26], "iedg": [1, 15, 26], "kchunk": [1, 20, 26, 40, 50], "layerthick": [1, 3, 15, 17, 46, 58, 71], "normalveloc": [1, 11, 15, 17, 37, 46, 71], "array2di4": [1, 9, 20, 26], "cellsonedg": [1, 15, 33, 60, 65], "alloc": [1, 9, 17, 19, 24, 26, 32, 33, 36, 46, 55, 71, 72, 75], "applic": [1, 7, 12, 15, 16, 17, 35, 37, 44, 54, 69], "nedgess": [1, 33], "fluxthicktypestr": 1, "switch": [1, 8, 12, 51], "case": [1, 2, 3, 6, 7, 10, 11, 12, 14, 15, 16, 18, 20, 21, 22, 26, 31, 32, 36, 37, 40, 41, 50, 53, 68, 70, 72, 77], "break": 1, "defineiofield": [1, 26], "horizont": [1, 3, 15, 20, 25, 31, 33, 46, 49, 52, 54, 56, 60, 76], "indic": [1, 5, 8, 12, 15, 16, 22, 24, 32, 33, 38, 40, 46, 69, 72], "handl": [1, 8, 38, 41, 46, 51, 53, 67], "enabl": [1, 3, 5, 10, 12, 13, 14, 20, 24, 29, 34, 44, 52, 54, 57, 72, 76], "layerthickcel": [1, 26], "normalveledg": [1, 26], "kstart": 1, "veclength": [1, 20, 40, 45], "jcell0": 1, "0": [1, 3, 6, 7, 8, 12, 13, 14, 16, 20, 21, 22, 24, 29, 33, 34, 41, 45, 46, 47, 48, 51, 53, 57, 58, 72, 79], "jcell1": 1, "kvec": 1, "k": [1, 5, 15, 20, 41], "5_real": 1, "fluxthickedgechoic": 1, "els": [1, 4, 6, 8, 34], "kokko": [1, 5, 6, 9, 11, 15, 16, 17, 19, 23, 29, 33, 34, 39, 46, 49, 50, 54, 69, 76], "max": [1, 14, 15, 23, 24, 33, 37, 48, 53, 74, 79], "ctest": [1, 3, 6, 7, 20, 72], "compar": [1, 4, 5, 11, 13, 14, 16, 20, 21, 22, 51], "result": [1, 2, 5, 7, 13, 15, 16, 20, 21, 23, 26, 33, 40, 47, 48, 58, 66, 67], "against": [1, 11, 14, 15, 16, 20, 22, 35, 42], "refer": [1, 3, 7, 9, 14, 16, 18, 20, 21, 23, 24, 31, 32, 35, 37, 40, 44, 47, 51, 53, 58, 66, 71, 73, 77, 78, 79], "valu": [1, 2, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 27, 29, 31, 32, 34, 36, 37, 38, 40, 41, 42, 45, 48, 50, 51, 52, 53, 56, 58, 63, 65, 68, 69, 72, 74, 79], "shallow": [1, 20, 22, 40, 50, 54], "water": [1, 20, 22, 23, 50, 54], "equat": [1, 9, 20, 22, 24, 49, 50, 78], "exist": [1, 2, 5, 7, 9, 13, 20, 21, 23, 24, 31, 32, 35, 37, 41, 45, 51, 52, 53, 68], "polari": [1, 6, 14, 20, 35], "verifi": [1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 20, 21, 29, 35, 42, 43], "produc": [1, 15, 20, 51], "correct": [1, 9, 17, 20, 21, 24, 58], "rate": [1, 20, 56], "In": [2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 21, 23, 24, 26, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 47, 50, 51, 52, 58, 60, 65, 67, 72, 77, 79], "parallel": [2, 5, 7, 8, 13, 15, 16, 22, 23, 24, 27, 33, 34, 37, 38, 39, 40, 42, 45, 50, 54, 60, 64, 65, 72, 76], "mpi": [2, 3, 5, 6, 7, 8, 10, 12, 15, 16, 29, 33, 36, 37, 38, 41, 45, 47, 48, 54, 57, 64, 67, 70, 72], "current": [2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 21, 23, 24, 26, 27, 33, 36, 37, 38, 40, 41, 43, 44, 46, 47, 50, 51, 52, 53, 56, 57, 58, 60, 62, 64, 65, 66, 67, 68, 72, 76, 77, 78], "configur": [2, 5, 6, 8, 10, 11, 12, 13, 14, 15, 18, 23, 29, 33, 35, 36, 37, 41, 42, 44, 47, 49, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 66, 67, 68, 70, 72, 75, 76, 77, 78], "u": [2, 5, 7, 15, 22, 32], "mani": [2, 3, 5, 7, 8, 9, 10, 15, 16, 24, 41, 47, 60, 70, 72], "aspect": [2, 6, 15, 23, 27, 51, 70], "we": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 30, 31, 32, 33, 35, 37, 41, 42, 47, 58, 59, 60, 61, 67, 73], "must": [2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 21, 23, 24, 31, 33, 34, 35, 37, 38, 41, 42, 44, 48, 51, 52, 57, 58, 60, 61, 63, 67, 68, 72], "abl": [2, 3, 5, 8, 10, 11, 12, 13, 14, 15, 21, 22, 23, 24, 60], "i4": [2, 3, 4, 5, 8, 10, 14, 16, 23, 24, 31, 32, 33, 34, 37, 39, 41, 48, 51, 53, 57, 58, 79], "i8": [2, 3, 4, 10, 14, 16, 23, 31, 32, 37, 48, 57, 58], "r4": [2, 3, 4, 10, 14, 16, 31, 32, 37, 48, 57, 58], "r8": [2, 3, 4, 10, 14, 16, 23, 31, 32, 37, 48, 57, 58], "real": [2, 3, 8, 15, 16, 20, 21, 24, 31, 32, 41, 47, 51, 59, 68, 72], "boolean": [2, 3, 8, 14, 41], "gener": [2, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 23, 24, 29, 31, 35, 37, 41, 51, 52, 58, 60, 65, 67, 68, 69, 72], "most": [2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 17, 21, 22, 23, 31, 34, 37, 38, 41, 42, 51, 53, 58, 67, 69], "common": [2, 3, 4, 7, 11, 14, 21, 23, 52], "plan": [2, 3, 15, 43, 47, 54], "partit": [2, 6, 8, 9, 13, 15, 33, 38, 60], "domain": [2, 9, 17, 22, 38, 54, 64, 65], "sub": [2, 3, 12, 13, 31, 58, 65, 72], "so": [2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 23, 24, 25, 30, 31, 32, 33, 37, 38, 39, 41, 42, 45, 47, 49, 50, 53, 60, 67, 68, 73], "appropri": [2, 3, 9, 10, 11, 12, 13, 14, 16, 21, 23, 24, 37, 42, 47, 53, 67, 79], "commun": [2, 5, 6, 9, 10, 15, 16, 21, 27, 33, 36, 38, 41, 45, 48, 60, 67, 70], "overlap": [2, 10, 38], "comput": [2, 5, 6, 10, 15, 16, 20, 21, 22, 23, 24, 32, 33, 34, 37, 39, 40, 41, 46, 47, 48, 50, 51, 54, 56, 60, 64, 65, 67, 72, 76], "form": [2, 3, 5, 10, 11, 12, 13, 15, 16, 21, 23, 31, 32, 35, 37, 51, 58, 62], "beyond": [2, 13, 21, 75], "intern": [2, 6, 9, 10, 13, 14, 31, 34, 35, 36, 37, 40, 53, 58, 61, 63, 65, 76], "mostli": [2, 13, 21, 51, 67], "wrapper": [2, 3, 6, 10, 27, 31, 38, 41, 67], "around": [2, 3, 27, 31, 41, 67], "For": [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34, 36, 37, 39, 41, 42, 44, 45, 46, 48, 49, 51, 52, 53, 56, 57, 58, 67, 69, 72, 73, 78], "alia": [2, 3, 30, 31, 32, 37], "mpi_request": [2, 8], "id": [2, 8, 10, 11, 13, 21, 34, 38, 41, 47], "broadcastid": 2, "four": [2, 15, 22, 29, 52, 68, 78], "integ": [2, 3, 5, 6, 7, 8, 13, 16, 21, 24, 32, 36, 41, 49, 51, 52, 53, 68], "note": [2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 22, 24, 26, 29, 32, 33, 37, 41, 45, 57, 67, 68, 72, 79], "interfac": [2, 3, 4, 7, 8, 10, 11, 12, 14, 16, 18, 23, 24, 31, 33, 36, 37, 38, 41, 42, 45, 48, 51, 52, 54, 58, 60, 64, 67, 68, 74], "below": [2, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 23, 24, 31, 33, 37, 41, 43, 47, 53, 57, 68, 72, 79], "could": [2, 3, 6, 8, 9, 12, 13, 15, 21, 22, 23, 31, 40, 41, 67, 69], "templat": [2, 3, 11, 23, 31, 32, 37, 38, 54, 68], "prefer": [2, 7, 10, 24, 31, 41, 67, 68, 72], "overload": [2, 3, 12, 13, 14, 20, 27, 38, 45], "keep": [2, 3, 5, 13, 21, 23, 24, 31, 68], "cleaner": [2, 3, 31], "first": [2, 3, 5, 7, 10, 11, 13, 14, 15, 21, 22, 26, 30, 31, 33, 34, 37, 38, 40, 43, 44, 45, 47, 48, 50, 51, 52, 53, 54, 72], "simplest": [2, 21], "where": [2, 3, 4, 7, 8, 9, 11, 12, 14, 15, 16, 21, 22, 23, 24, 29, 30, 31, 32, 37, 38, 41, 42, 47, 48, 52, 58, 67, 68, 72], "actual": [2, 3, 6, 7, 10, 14, 15, 18, 27, 33, 35, 37, 58, 62, 68], "look": [2, 3, 5, 6, 7, 13, 15, 24, 31, 33, 35, 47, 53, 58], "like": [2, 3, 5, 6, 10, 11, 13, 14, 15, 16, 18, 21, 22, 23, 24, 30, 31, 33, 37, 41, 45, 47, 50, 53, 58, 63, 67, 68, 70, 76], "err": [2, 3, 6, 7, 24, 31, 37, 39, 41, 42, 46, 51, 53], "myintvalu": 2, "myrealvalu": 2, "etc": [2, 5, 6, 9, 11, 14, 21, 22, 23, 30, 32, 34, 36, 37, 46], "On": [2, 6, 8, 10, 13, 45, 72], "remain": [2, 3, 14, 15, 20, 22, 23, 31, 33, 39], "unchang": 2, "receiv": [2, 38, 57, 64], "similar": [2, 3, 5, 6, 7, 8, 12, 13, 15, 16, 21, 24, 26, 31, 32, 41, 48, 58], "abov": [2, 3, 6, 7, 10, 11, 13, 14, 15, 16, 21, 22, 23, 30, 31, 32, 33, 37, 38, 41, 42, 45, 47, 51, 52, 57, 58, 60, 65, 68, 79], "add": [2, 3, 6, 7, 13, 15, 16, 21, 30, 31, 35, 41, 47, 53, 72, 79], "addit": [2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 21, 23, 31, 32, 37, 38, 41, 45, 49, 52, 57, 60, 63, 65, 67, 72, 77, 78], "sourc": [2, 3, 24, 29, 30, 35, 57, 72], "srcrank": 2, "As": [2, 4, 5, 7, 9, 10, 12, 14, 15, 16, 21, 26, 28, 30, 32, 34, 36, 37, 38, 41, 42, 44, 45, 52, 60, 68, 69], "machenv": [2, 8, 10, 13, 16, 23, 31, 33, 38, 41, 54, 57, 60, 64], "subenv": 2, "ident": [2, 3, 5, 7, 14, 15, 16, 22, 31], "replac": [2, 11, 15, 37, 41, 68, 69], "option": [2, 6, 8, 10, 12, 15, 16, 19, 20, 23, 24, 26, 29, 31, 35, 36, 37, 45, 47, 48, 49, 50, 53, 55, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 72, 75, 77, 78, 79], "request": [2, 8, 11, 14, 16, 21, 24, 31, 35, 43, 68], "follow": [2, 3, 5, 7, 9, 12, 15, 18, 21, 22, 24, 26, 28, 29, 30, 32, 36, 38, 40, 43, 47, 50, 51, 52, 53, 56, 57, 65, 66, 69, 72, 76, 78], "standard": [2, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 21, 22, 23, 24, 27, 32, 37, 41, 51, 53, 58, 59, 60, 64, 68, 72, 79], "ibroadcast": [2, 54], "ibroadcastwait": 2, "includ": [2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 29, 30, 31, 35, 37, 41, 42, 43, 44, 45, 47, 52, 60, 63, 65, 68, 69, 70, 72, 77, 79], "wait": 2, "complet": [2, 3, 5, 6, 8, 11, 12, 15, 23, 37, 60, 68, 72], "A": [2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21, 23, 24, 25, 33, 34, 37, 38, 39, 42, 46, 47, 49, 51, 52, 53, 54, 58, 67, 68, 70, 77], "sequenc": [2, 7, 11, 21, 31, 58], "myreqid": 2, "myvar": [2, 7, 14], "perform": [2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 21, 23, 24, 26, 32, 34, 37, 38, 39, 40, 43, 46, 48, 52, 53, 54, 59, 60, 61, 64, 67], "multi": [2, 5, 6, 7, 10, 14, 32, 33, 34, 51, 54], "processor": [2, 5, 10, 16, 23, 48, 60], "driver": [2, 3, 11, 13, 24, 54], "initi": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 17, 20, 21, 22, 24, 31, 33, 36, 37, 38, 39, 41, 42, 45, 46, 50, 51, 54, 60, 70, 75, 78], "zero": [2, 3, 6, 7, 14, 15, 16, 22, 24, 31, 34, 37, 41, 77], "empti": [2, 3, 14, 21, 23, 31, 37, 42, 78], "expect": [2, 3, 4, 5, 7, 8, 13, 14, 15, 21, 34, 41, 70], "repeat": [2, 5, 11, 15, 23, 41], "two": [2, 5, 6, 7, 8, 11, 13, 14, 15, 16, 21, 22, 24, 27, 29, 37, 38, 41, 42, 46, 49, 51, 52, 53, 56, 57, 63, 67, 72, 78, 79], "except": [2, 7, 8, 12, 14, 15, 24, 41, 65, 68], "tandem": [2, 15], "after": [2, 3, 5, 7, 8, 11, 13, 15, 21, 23, 31, 33, 38, 39, 42, 43, 46, 51, 52, 63, 68, 72], "issu": [2, 4, 12, 21, 31, 69], "extra": [2, 16, 33], "corrupt": [2, 12], "overwritten": 2, "necessari": [3, 8, 9, 11, 12, 16, 30, 31, 32, 33, 36, 37, 38, 39, 46, 58, 64, 67, 68, 72], "run": [3, 5, 7, 8, 10, 11, 13, 16, 23, 28, 30, 31, 33, 35, 36, 38, 43, 45, 51, 52, 58, 60, 62, 64, 70, 72], "physic": [3, 15, 31, 32, 38, 58], "coeffici": [3, 15, 31, 52, 58, 76], "parameter": [3, 15, 20, 31, 58], "variou": [3, 4, 6, 9, 10, 12, 13, 21, 23, 27, 31, 37, 40, 41, 44, 45, 51, 52, 58, 65, 67, 74, 77], "typic": [3, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 21, 23, 24, 30, 31, 33, 34, 37, 40, 41, 51, 53, 58, 68, 69, 77], "serv": [3, 8, 27, 31, 35, 36, 44, 58], "descript": [3, 7, 12, 14, 15, 24, 31, 37, 53, 54, 56, 58, 60, 65, 76, 79], "well": [3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 21, 23, 24, 31, 34, 36, 38, 51, 52, 58, 66, 72], "easili": [3, 24, 32, 65], "understood": [3, 15], "modifi": [3, 6, 11, 13, 21, 30, 31, 35, 40, 43, 51, 53, 57, 58, 62, 72, 77, 78], "expert": 3, "user": [3, 7, 8, 10, 11, 12, 14, 15, 21, 23, 24, 26, 29, 31, 32, 35, 41, 42, 44, 49, 51, 53, 55, 56, 58, 59, 60, 61, 62, 63, 66, 67, 68, 70, 72, 75, 76, 77, 78, 79], "markup": 3, "interfer": 3, "conform": [3, 14, 51], "eas": [3, 7, 15], "pars": 3, "potenti": [3, 5, 8, 12, 21, 24, 40, 51, 53, 69, 76, 79], "interoper": [3, 12, 15], "yaml": [3, 11, 24, 31, 35, 36, 53, 54, 58, 63, 68], "json": [3, 12], "xml": [3, 29, 47, 70, 72], "entir": [3, 8, 16, 24, 37, 77], "save": [3, 7, 8, 11, 31, 38, 44, 72], "act": 3, "although": [3, 9, 32, 41, 72], "relev": [3, 5, 6, 12, 15, 16, 20, 23, 37, 42, 51], "modul": [3, 6, 7, 10, 11, 14, 21, 24, 31, 36, 37, 38, 41, 42, 51, 52, 58, 60, 63, 68, 72], "inevit": 3, "depend": [3, 4, 5, 8, 9, 10, 13, 15, 21, 22, 24, 25, 37, 38, 39, 41, 49, 51, 64, 65], "other": [3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 21, 24, 26, 31, 34, 35, 37, 39, 41, 42, 45, 47, 51, 52, 58, 62, 63, 66, 67, 68, 77, 78, 79], "therefor": [3, 35, 72], "float": [3, 8, 10, 11, 16, 21, 32, 51, 58, 59, 68, 69], "doubl": [3, 4, 8, 10, 11, 15, 16, 21, 32, 59, 68], "limit": [3, 8, 10, 69], "vector": [3, 5, 8, 10, 11, 14, 16, 21, 23, 24, 31, 37, 41, 45, 48, 51, 53, 57, 58, 70], "should": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 29, 31, 32, 34, 35, 37, 41, 42, 45, 47, 52, 53, 60, 62, 67, 68, 69, 72, 78], "never": [3, 15, 68], "consum": 3, "signific": 3, "resourc": [3, 38], "either": [3, 6, 7, 8, 11, 12, 15, 16, 21, 23, 24, 36, 37, 38, 41, 42, 47, 48, 50, 51, 53, 57, 62, 68, 70, 72, 74, 78, 79], "storag": [3, 4, 10, 17, 24, 41], "execut": [3, 5, 7, 12, 15, 29, 36, 38, 58, 62, 64, 72], "replic": [3, 5, 9, 10, 37, 39], "rank": [3, 5, 8, 10, 12, 13, 16, 24, 32, 53], "though": [3, 4, 11, 13, 14, 21, 23, 32, 35, 51, 67, 68], "manipul": [3, 24, 51], "eg": [3, 4, 5, 6, 7, 10, 11, 13, 14, 16, 21, 23, 31, 32, 33, 34, 37, 41, 42, 45, 51, 58, 68, 70, 77, 78], "describ": [3, 5, 6, 7, 8, 11, 14, 15, 16, 18, 21, 23, 24, 31, 32, 33, 34, 35, 37, 41, 42, 47, 58, 60, 63, 66, 67, 70, 74, 77, 78], "convert": [3, 9, 10, 16, 21, 32, 41, 51, 58, 67], "happen": [3, 7], "befor": [3, 5, 14, 16, 21, 23, 25, 32, 33, 34, 35, 37, 39, 41, 42, 43, 46, 48, 49, 51, 68], "simplic": [3, 57], "detail": [3, 6, 7, 12, 15, 16, 18, 23, 29, 32, 35, 58, 60, 61, 63, 67, 69, 72, 74], "maintain": [3, 5, 9, 11, 13, 14, 24, 37, 45, 57, 72], "If": [3, 7, 8, 10, 11, 12, 13, 15, 21, 22, 23, 24, 28, 30, 31, 37, 42, 43, 45, 47, 51, 53, 62, 68, 72, 78], "multipl": [3, 7, 12, 14, 21, 22, 24, 25, 27, 31, 33, 37, 45, 48, 49, 52, 53, 60, 68, 70, 72, 78], "obviou": 3, "link": [3, 21, 23, 32, 35, 47, 58, 59, 72], "main": [3, 4, 5, 11, 29, 36, 38, 44, 52, 58, 78], "easier": [3, 14, 21], "encapsul": [3, 41], "organ": [3, 8, 9, 22, 27, 38, 39], "wai": [3, 4, 5, 15, 22, 23, 24, 30, 35, 37, 40, 47, 56, 58, 60], "primarili": [3, 7, 10, 13, 14, 21, 34, 37, 54, 58], "those": [3, 5, 7, 8, 10, 15, 21, 22, 23, 31, 38, 42, 64, 65, 67, 75, 77], "becaus": [3, 4, 5, 7, 8, 10, 11, 14, 15, 16, 21, 22, 23, 26, 32, 37, 45, 58], "outsid": [3, 8, 23, 40, 42, 73], "c": [3, 4, 7, 12, 14, 15, 21, 23, 25, 26, 29, 32, 40, 45, 47, 49, 53, 54, 58, 66, 69, 79], "python": [3, 29, 47, 54, 72], "suppli": [3, 5, 6, 11, 13, 14, 21, 31, 37, 38, 41, 45, 51, 58, 72, 77], "throw": 3, "exit": [3, 6, 7, 10, 11, 32, 34, 37, 68], "becom": [3, 32, 59, 67], "part": [3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 16, 21, 22, 29, 31, 32, 37, 43, 44, 52, 58, 65, 67], "unexpect": 3, "encount": [3, 6, 7, 24, 44], "ignor": [3, 10, 15, 37], "mean": [3, 4, 7, 14, 15, 16, 21, 22, 23, 52, 69, 78], "extract": [3, 14, 16, 24, 31, 36, 37, 38, 41, 42, 58], "what": [3, 5, 13, 15, 30, 35, 43], "extern": [3, 23, 29, 47, 72], "rang": [3, 12, 24, 31, 37, 48, 50, 51, 53, 67], "assign": [3, 5, 7, 13, 14, 21, 24, 37, 41, 53, 67], "anticip": [3, 14, 21, 23, 35], "packag": [3, 5, 24, 28, 30, 35, 43, 53, 79], "chosen": [3, 12, 15, 21, 22], "select": [3, 5, 10, 11, 21, 23, 29, 45, 54, 63, 78], "meet": [3, 15, 16, 33], "improv": [3, 4, 7, 9, 12, 13, 15, 16, 24], "over": [3, 4, 5, 8, 11, 12, 15, 16, 21, 24, 34, 36, 40, 51], "cpp": [3, 4, 7, 13, 27, 31, 44], "librari": [3, 5, 7, 8, 10, 11, 12, 13, 15, 21, 29, 31, 32, 33, 41, 60, 67, 72], "third": [3, 13, 15], "parti": [3, 4], "inform": [3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 33, 34, 35, 37, 38, 39, 44, 45, 49, 51, 60, 63, 64, 65, 69, 70], "node": [3, 10, 13, 22, 23, 31, 33, 41, 45, 47, 58, 60, 64, 67, 70, 72], "featur": [3, 12, 18, 21, 35, 47, 57], "syntax": [3, 4, 15, 31, 32, 57, 69], "larg": [3, 5, 8, 15, 21, 23, 37, 41, 60], "complex": [3, 21], "structur": [3, 5, 6, 12, 54], "less": [3, 7, 11, 15, 21, 67, 68], "full": [3, 8, 11, 12, 14, 16, 21, 24, 31, 37, 41, 43, 58, 60, 67, 68, 76], "routin": [3, 5, 6, 7, 8, 10, 11, 13, 16, 21, 23, 24, 32, 33, 37, 39, 41, 42, 45, 46, 52, 65], "later": [3, 5, 6, 7, 10, 13, 14, 15, 16, 21, 22, 23, 24, 29, 31, 37, 43, 47, 52, 67, 68], "forward": [3, 20, 21, 38, 51, 52, 78], "integr": [3, 6, 21, 22, 24, 29, 36, 44, 47, 51, 52, 54, 72], "broadcast": [3, 54], "believ": 3, "global": [3, 8, 12, 15, 22, 24, 33, 34, 37, 41, 42, 47, 53, 54, 63], "share": [3, 6, 7, 15, 33, 37, 47, 52], "fulli": [3, 33], "accur": [3, 21], "our": [3, 11, 15, 30], "nest": [3, 31, 38, 40, 58], "simpli": [3, 4, 5, 7, 11, 13, 14, 15, 18, 21, 22, 34, 37, 47, 53, 77, 79], "keyword": 3, "pair": [3, 5, 14, 15, 21, 24, 37, 42, 45, 53, 58], "lowest": 3, "simpl": [3, 7, 13, 14, 15, 21, 23, 24, 37, 45, 67, 68], "next": [3, 15, 17, 21, 42, 51, 68], "up": [3, 4, 5, 6, 7, 10, 13, 15, 21, 24, 28, 30, 31, 35, 36, 37, 40, 43, 45, 51, 54, 58], "collect": [3, 8, 14, 16, 24, 29, 37, 48, 74], "root": [3, 12, 28, 29, 30, 57, 67], "correspond": [3, 6, 10, 12, 15, 24, 32, 35, 42, 53], "stream": [3, 9, 14, 24, 31, 54, 58, 61, 63], "tbd": 3, "under": [3, 15, 16, 23, 27, 31, 47, 57, 72], "timemanag": [3, 54, 58, 62], "dorestart": 3, "fals": [3, 7, 8, 20, 21, 37, 51, 58, 68], "restarttimestampnam": [3, 58], "restarttimestamp": [3, 58], "starttim": [3, 6, 11, 21, 23, 36, 51, 52, 58, 62, 68, 78], "0001": [3, 58, 62, 68, 78], "01": [3, 47, 58, 62, 78], "01_00": [3, 58, 62, 68, 78], "00": [3, 58, 62, 68, 78], "stoptim": [3, 51, 52, 58, 62, 78], "none": [3, 15, 21, 23, 24, 51, 53, 58, 62, 78, 79], "rundur": [3, 58, 62, 78], "0010_00": [3, 58], "calendartyp": [3, 58, 62, 78], "noleap": [3, 58], "hmix": [3, 31, 58], "hmixscalewithmesh": [3, 31, 58], "maxmeshdens": [3, 31, 58], "hmixuserefwidth": [3, 31, 58], "hmixrefwidth": [3, 31, 58], "30": [3, 21, 51, 58, 62, 77], "0e3": [3, 58], "filenametempl": [3, 58], "nc": [3, 5, 11, 47, 58, 60, 68], "inputinterv": [3, 58], "initial_onli": [3, 58], "y": [3, 11, 30, 51, 58, 68], "m": [3, 4, 11, 15, 30, 51, 58, 65, 68], "d_": [3, 11, 15, 58, 68], "h": [3, 4, 11, 15, 21, 22, 27, 33, 39, 42, 44, 46, 51, 57, 58, 68, 69], "filenameinterv": [3, 58], "00_00": [3, 58], "referencetim": [3, 58], "clobbermod": 3, "truncat": 3, "precis": [3, 4, 6, 8, 10, 15, 16, 21, 22, 41, 54, 58, 68], "outputinterv": [3, 58], "0001_00": [3, 58], "content": [3, 10, 14, 15, 18, 22, 24, 30, 37, 42, 58, 68, 72], "tracer": [3, 8, 22, 25, 37, 46, 49, 52, 54, 56, 58, 60, 63, 68, 71, 76, 78], "ssh": [3, 15, 47, 58], "kineticenergycel": [3, 15, 26, 56, 58], "relativevorticitycel": [3, 58], "obvious": [3, 6], "wrap": 3, "context": [3, 17, 37, 70], "omegaconfig": [3, 31], "configread": 3, "yml": [3, 31, 36, 53, 58, 79], "retain": [3, 6, 11, 23, 65, 68], "throughout": [3, 4, 11, 13, 15, 24, 38], "onc": [3, 5, 6, 11, 16, 21, 24, 33, 37, 38, 39, 41, 42, 43, 45, 48, 60, 64, 68, 72], "ha": [3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 21, 22, 24, 25, 26, 31, 33, 36, 37, 39, 42, 45, 47, 49, 51, 52, 53, 57, 67, 68, 72], "been": [3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 21, 24, 33, 37, 38, 39, 41, 42, 44, 45, 46, 51, 52, 57, 65, 68], "realli": [3, 5], "top": [3, 6, 10, 23, 24, 29, 31, 35, 36, 42], "local": [3, 8, 9, 13, 16, 17, 24, 30, 32, 33, 34, 38, 39, 41, 47, 48, 65], "sampl": [3, 5, 9, 11, 14, 17, 23, 24, 31, 68], "hmixconfig": [3, 31], "configget": 3, "ierr": 3, "refwidth": 3, "bool": [3, 8, 11, 13, 14, 20, 21, 23, 24, 31, 34, 37, 42, 57, 58, 76], "userefwidth": 3, "confignam": 3, "varnam": [3, 41], "report": [3, 7, 23], "rather": [3, 4, 5, 7, 13, 14, 15, 31, 33, 37, 47, 51], "print": [3, 7], "messag": [3, 5, 8, 10, 11, 12, 13, 16, 27, 33, 38, 44, 45, 60, 64, 68, 69, 70], "defaultv": 3, "doe": [3, 5, 7, 10, 12, 14, 16, 21, 24, 26, 32, 37, 42, 53, 57, 68, 69], "warn": [3, 7, 12, 28, 31, 68, 69], "being": [3, 5, 7, 8, 9, 21, 27, 37, 41], "intent": 3, "capabl": [3, 5, 7, 10, 11, 14, 15, 18, 21, 23, 27, 37, 44, 57, 58, 60], "essenti": [3, 6, 12, 24, 42], "invers": [3, 32], "configset": 3, "true": [3, 7, 13, 15, 21, 24, 37, 51, 68, 76], "liter": [3, 32], "cast": [3, 14, 15], "accord": [3, 33], "convers": [3, 21, 58], "build": [3, 4, 6, 7, 9, 13, 15, 23, 30, 31, 32, 35, 36, 40, 43, 45, 54, 58, 59, 64, 70], "yet": [3, 4, 5, 24, 31, 42, 47, 60, 72, 73], "distinguish": [3, 11, 14, 23], "subgroup": 3, "configadd": 3, "To": [3, 5, 6, 7, 8, 11, 13, 14, 15, 16, 21, 24, 25, 33, 37, 41, 43, 45, 47, 48, 49, 51, 52, 53, 57, 60, 69, 72, 79], "parent": [3, 6, 13, 23, 31, 36, 45], "satisfi": [3, 7, 8, 12, 13], "again": [3, 7, 15, 41, 60], "configexist": 3, "stuff": [3, 13, 37], "hmixexist": 3, "decid": [3, 31, 47], "configwrit": 3, "myconfig": 3, "outputfilenam": 3, "delet": [3, 5, 11, 30, 31, 37, 45], "free": [3, 5, 14, 15, 31], "space": [3, 5, 8, 11, 14, 24, 30, 31, 33, 37, 38, 47, 51, 58, 64], "dure": [3, 6, 7, 8, 9, 10, 11, 12, 14, 15, 20, 21, 29, 34, 36, 37, 42, 50, 51, 52, 53, 57, 64, 70, 72, 77, 79], "phase": [3, 36, 37, 52], "order": [3, 4, 5, 8, 11, 12, 14, 15, 16, 22, 26, 27, 31, 32, 33, 51, 52, 56, 60, 62, 78], "consist": [3, 6, 14, 15, 21, 22, 23, 24, 29, 36, 51, 58], "avoid": [3, 5, 7, 8, 9, 11, 13, 18, 21, 24, 32, 33, 41, 51], "propos": 3, "insert": [3, 23, 32, 37, 42, 59], "block": [3, 18, 24, 27, 31, 38, 40, 54], "header": [3, 4, 12, 18, 26, 27, 31, 36, 37, 38, 42, 44, 51, 57, 69], "doxygen": 3, "someth": [3, 5, 6, 24, 30, 33, 47], "configinput": [3, 31], "mix": [3, 4, 15, 24, 31, 76], "coeff": [3, 31, 52], "unit": [3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 21, 22, 23, 24, 31, 34, 35, 37, 41, 47, 51, 53, 62, 65, 68, 72, 79], "varname1": [3, 31], "defaultvalue1": [3, 31], "varname2": [3, 31], "defaultvalue2": [3, 31], "continu": [3, 7, 10, 11, 22, 24, 31, 78], "var": [3, 7, 10, 11, 12, 14, 18, 31, 33, 39, 47], "endconfiginput": [3, 31], "between": [3, 5, 6, 8, 10, 12, 15, 21, 47, 48, 51, 60, 65, 68, 71], "line": [3, 5, 7, 15, 31, 51, 58, 72], "verbatim": 3, "written": [3, 6, 10, 11, 15, 22, 24, 31, 35, 36, 41, 42, 54, 68], "proper": [3, 15, 21, 24, 37], "indent": [3, 23, 58, 68], "delimit": [3, 31, 58, 68], "comment": [3, 14, 16, 24, 31], "strip": 3, "concis": [3, 7], "similarli": [3, 7, 8, 11, 14, 16, 21, 31, 37, 52, 58], "info": [3, 5, 7, 8, 10, 12, 31], "develop": [3, 5, 6, 7, 10, 12, 15, 22, 27, 28, 31, 32, 34, 35, 36, 37, 41, 43, 51, 57, 58, 60, 63, 69, 70, 73, 74, 77], "guid": [3, 15, 29, 31, 35, 41, 42, 43, 58, 60, 63, 70, 74], "automat": [3, 12, 29, 31, 32, 51, 72], "pass": [3, 5, 7, 8, 13, 14, 18, 23, 27, 29, 33, 38, 39, 41, 42, 45, 46, 47, 48, 50, 51, 60, 64, 65, 70, 72], "fail": [3, 10, 11, 13, 18, 21, 41, 47, 68, 72], "framework": [3, 4, 14, 15, 29, 32, 44, 54], "least": [3, 5, 22, 23, 60], "few": [3, 10, 21, 24, 37, 77], "behavior": [3, 7, 10, 12, 15, 41, 68, 69], "enough": [3, 7, 8], "number": [3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 20, 21, 23, 24, 25, 31, 32, 33, 37, 41, 45, 46, 48, 49, 51, 52, 53, 60, 67, 68, 70, 77, 78], "simul": [3, 6, 7, 9, 10, 11, 13, 14, 15, 20, 23, 24, 31, 36, 37, 41, 42, 47, 51, 52, 53, 62, 68, 77, 78, 79], "inquir": [3, 14, 41], "wa": [3, 6, 15, 21, 22, 37, 41, 51, 72], "Then": [3, 10, 16, 31], "match": [3, 7, 11, 13, 21, 24, 33, 41, 67, 68], "origin": [3, 15, 47], "alias": [4, 8, 10, 16], "wish": [4, 7, 11, 13, 16, 23, 30, 43, 44, 47, 63, 67, 68], "explor": [4, 15, 32, 59, 67], "lower": [4, 11, 12, 14, 15, 68], "compil": [4, 8, 12, 23, 29, 47, 72], "singl": [4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 21, 22, 23, 31, 32, 37, 38, 42, 51, 58, 59, 62, 68], "32": [4, 13, 32, 41, 59], "bit": [4, 5, 8, 11, 15, 16, 32, 41, 59], "64": [4, 13, 15, 29, 32, 41, 59], "long": [4, 10, 14, 15, 16, 22, 24, 28, 32, 37, 47, 53, 79], "shorter": [4, 41, 78], "intuit": 4, "better": [4, 5, 7, 23, 37, 60], "control": [4, 8, 12, 29, 51], "much": [4, 5, 10, 35], "inhibit": 4, "e3sm": [4, 6, 10, 11, 14, 15, 16, 21, 29, 35, 36, 41, 53, 54, 58, 67, 79], "coupler": [4, 13], "3rd": 4, "lib": [4, 72], "portabl": [4, 23, 54], "ai": 4, "ml": 4, "languag": [4, 32], "adequ": 4, "reproduc": [4, 15, 33, 48, 65], "req": [4, 6], "incorpor": [4, 7, 44], "d": [4, 12, 13, 15, 16, 21, 30, 51, 68, 69], "single_precis": [4, 8], "otherwis": [4, 11, 21], "older": [4, 5, 67], "typedef": 4, "host": [4, 8, 16, 17, 24, 32, 33, 37, 39, 46, 48], "int32_t": 4, "int64_t": 4, "ifdef": [4, 8], "endif": [4, 8], "make_omega_view_dim": 4, "n": [4, 13, 15, 21, 22, 30, 32, 34, 47], "v": [4, 15], "t": [4, 13, 14, 15, 21, 22, 26, 69], "1d": [4, 8, 16, 37, 48], "2d": [4, 48], "3d": 4, "4d": 4, "5d": [4, 10, 16, 48], "make_omega_view_typ": 4, "dimens": [4, 10, 15, 16, 24, 32, 37, 41, 48, 53, 54], "view": [4, 12, 17, 28, 47], "memlayout": 4, "memspac": 4, "hostarrai": [4, 37], "hostmemlayout": 4, "hostmemspac": 4, "system": [4, 6, 10, 12, 13, 15, 21, 24, 27, 29, 30, 32, 41, 44, 47, 59, 60, 69, 72], "coupl": [4, 56], "exercis": [4, 15], "sizeof": 4, "without": [4, 7, 12, 15, 21, 37, 43, 49, 51, 60, 62, 72, 77], "mirror": [4, 11, 37], "copi": [4, 5, 21, 24, 26, 29, 32, 33, 39, 40, 46, 47, 72], "util": [5, 8, 9, 11, 21, 23, 27, 29, 33, 38, 41, 44, 51, 54, 57, 72], "hierarch": 5, "coars": 5, "grain": 5, "achiev": [5, 13, 24, 52], "via": [5, 8, 9, 23, 24, 33, 39, 41, 42, 44, 46, 51, 60, 63, 64, 67, 77], "decompos": [5, 33, 41, 60, 65], "proce": [5, 7], "decomposit": [5, 9, 10, 23, 34, 38, 39, 41, 54, 65, 67], "primari": [5, 7, 8, 11, 21, 22, 27, 40, 51, 52, 68], "distribut": [5, 8, 10, 16, 29, 33, 34, 37, 38, 41, 48, 60, 67, 72, 74], "tool": [5, 9, 15, 29, 31, 36, 43, 44, 47, 67, 69, 72], "parmeti": [5, 29, 33, 60, 72], "zoltan": 5, "encourag": [5, 15, 59], "normal": [5, 15, 17, 19, 21, 43, 49, 52, 65, 66, 76], "adjac": [5, 8, 64], "see": [5, 7, 10, 11, 13, 15, 21, 23, 24, 29, 31, 32, 37, 41, 43, 47, 59, 67, 69, 72], "backward": [5, 52, 78], "comparison": [5, 15, 21, 22, 54], "mpa": [5, 8, 21, 22, 33, 39, 47, 54, 65], "occur": [5, 6, 7, 10, 12, 13, 14, 15, 16, 21, 23, 42, 68], "ie": [5, 37], "pre": [5, 7, 15, 23, 43, 47, 64, 67, 70], "step": [5, 8, 10, 15, 21, 24, 26, 30, 42, 47, 51, 54, 56, 60, 68, 72, 77], "meant": [5, 10, 21, 37, 39, 46, 52, 65], "past": [5, 15, 21], "difficulti": 5, "experi": [5, 24, 58], "shown": [5, 15, 22, 24, 31, 53, 58, 68, 72, 79], "even": [5, 24], "high": [5, 9, 10, 11, 15, 16, 22, 23, 33, 68], "resolut": [5, 9, 10, 15, 22, 33], "veri": [5, 7, 15, 21, 23, 33, 37, 40, 47], "inexpens": 5, "off": [5, 29, 30, 51, 64], "graph": 5, "alreadi": [5, 6, 7, 8, 9, 11, 13, 14, 15, 28, 30, 37, 39, 41, 46, 47, 68], "format": [5, 11, 12, 14, 18, 21, 23, 35, 41, 43, 44, 47, 51, 58, 62, 67, 68, 69, 78], "list": [5, 11, 13, 14, 18, 24, 29, 37, 38, 45, 51, 52, 58, 63, 68], "neighbor": [5, 8, 15, 33, 38, 60], "second": [5, 6, 13, 14, 15, 16, 21, 22, 24, 31, 34, 37, 45, 48, 51, 52, 68, 78], "netcdf": [5, 10, 15, 29, 41, 67], "cellsoncel": [5, 9, 33, 60], "elimin": [5, 46], "nearest": [5, 21], "point": [5, 7, 8, 11, 15, 16, 18, 21, 24, 32, 34, 37, 51, 58, 59, 60, 67, 68], "updat": [5, 21, 36, 37, 38, 40, 46, 47, 50, 52, 53, 54, 63, 71, 76, 78], "renumb": 5, "setup": [5, 15, 54], "address": [5, 7, 12, 24, 69], "own": [5, 8, 11, 12, 13, 14, 16, 30, 31, 33, 37, 38, 47, 58, 63], "variabl": [5, 6, 7, 10, 11, 12, 13, 16, 20, 21, 22, 24, 27, 29, 31, 32, 33, 35, 37, 38, 39, 41, 42, 43, 46, 49, 50, 52, 53, 54, 55, 58, 65, 69, 71, 72, 76, 77, 79], "quantiti": [5, 9, 15, 21, 22, 37, 38, 51, 52, 70, 77], "transfer": [5, 8, 37, 39, 46], "load": [5, 23, 72], "balanc": [5, 23], "support": [5, 7, 8, 11, 14, 16, 24, 29, 31, 32, 37, 38, 41, 42, 45, 47, 51, 52, 58, 59, 60, 62, 64, 67, 68, 69, 70, 77], "estim": 5, "workload": 5, "calcul": [5, 8, 9, 15, 19, 22, 24, 37, 39, 45, 46], "domin": [5, 13], "barotrop": [5, 9, 13, 22, 78], "mode": [5, 6, 9, 11, 12, 14, 22, 29, 32, 36, 41, 54, 68, 72, 78], "smaller": [5, 8], "timestep": [5, 6, 11, 21, 22, 36, 46, 51, 52, 60, 71, 77, 78], "region": [5, 16, 23, 34, 40, 64], "focus": [5, 27], "subscrib": 5, "combin": [5, 10, 15, 16, 35, 56, 67, 68], "low": 5, "unclear": 5, "whether": [5, 8, 10, 13, 14, 15, 16, 21, 30, 34, 37, 41, 64, 68], "best": [5, 13, 16, 21, 47, 68], "accomod": [5, 16], "identifi": [5, 15, 23, 24, 47, 52], "help": [5, 8, 9, 14, 28, 30, 47], "embed": 5, "present": [5, 15, 22, 32, 33, 68, 78], "here": [5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 21, 22, 24, 31, 33, 41, 42, 65, 67, 69], "per": [5, 6, 8, 10, 13, 21, 33, 51, 53, 67, 68, 77, 79], "prevent": [5, 12, 13, 24, 37], "ad": [5, 6, 7, 11, 14, 15, 21, 22, 23, 26, 29, 31, 37, 47, 52, 63, 72], "reduc": [5, 8, 10, 12, 15, 16, 21, 22, 33, 48, 60, 63, 68, 74], "serial": [5, 16, 33, 67], "io": [5, 6, 9, 11, 12, 17, 26, 31, 33, 34, 37, 46, 54, 55, 58, 60, 61, 71], "destroi": [5, 14, 24, 33, 34, 37], "partmethod": 5, "partmethodunknown": 5, "undefin": [5, 10, 13, 14, 21, 37, 41, 51], "partmethodmetiskwai": 5, "kwai": 5, "geomkwai": 5, "fill": [5, 7, 8, 11, 14, 24, 33, 41, 52, 60], "curv": 5, "eventu": [5, 10, 33, 36, 39, 46], "appear": [5, 14, 15, 37], "halowidth": [5, 8, 60], "width": [5, 21, 51, 62], "oper": [5, 19, 21, 23, 24, 26, 27, 37, 41, 48, 53, 54, 57, 69, 74], "meshinputfilenam": 5, "omegameshfil": 5, "partitionmethod": 5, "metiskwai": [5, 60], "halodepth": 5, "depth": [5, 15, 65], "ncellsglob": [5, 33, 34], "num": [5, 13, 21], "ncellsal": [5, 16, 33, 41], "ncellsown": [5, 16, 33, 34, 39, 40, 41, 48, 50], "exclus": 5, "ncellshalo": [5, 33], "cellglobalid": 5, "compact": [5, 31], "ghost": 5, "linear": [5, 33, 60], "start": [5, 6, 13, 14, 21, 24, 29, 30, 35, 36, 45, 51, 53, 54, 58, 67, 72, 77, 78], "nbrstartcel": 5, "addr": 5, "nbr": 5, "nbrloccel": 5, "maindecomp": 5, "determin": [5, 6, 7, 8, 11, 13, 16, 21, 23, 33, 36, 37, 44, 53, 62, 68], "exact": [5, 21, 24], "newdecomp": [5, 38], "olddecomp": 5, "npart": 5, "mydecomp": 5, "small": [5, 15], "standalon": [5, 29, 36, 54, 58, 67], "gpmeti": 5, "fortran": [5, 15, 21, 29, 32], "account": [5, 18, 21, 29, 47, 72], "sum": [5, 7, 8, 15, 23, 54, 74], "when": [6, 7, 8, 10, 11, 13, 14, 15, 16, 19, 21, 22, 23, 24, 28, 31, 32, 34, 35, 37, 41, 42, 43, 46, 48, 51, 52, 57, 59, 61, 64, 67, 68], "export": [6, 47], "thin": 6, "translat": [6, 10, 36], "mimic": [6, 13], "surfac": [6, 76], "forc": [6, 11, 21, 22, 36, 42], "through": [6, 7, 10, 12, 14, 24, 31, 34, 37, 42, 47, 56, 72, 77], "subsequ": [6, 7, 41], "interv": [6, 23, 36, 51, 68], "place": [6, 10, 12, 15, 21, 33, 41, 42, 54, 72], "clean": [6, 7, 24, 28, 36, 45], "memori": [6, 9, 17, 24, 29, 31, 33, 37, 38, 64], "cleanli": 6, "specifi": [6, 10, 11, 12, 13, 15, 16, 21, 24, 41, 43, 44, 48, 51, 53, 56, 67, 68, 72, 77, 78], "end": [6, 7, 8, 10, 11, 15, 16, 24, 29, 31, 33, 34, 36, 39, 42, 46, 68], "fastest": 6, "grace": 6, "checkpoint": [6, 11], "itself": [6, 11, 14, 15, 21, 37, 41, 53, 60, 63], "introduc": [6, 22, 34, 40], "One": [6, 13, 15, 22, 51], "intefac": 6, "synchron": [6, 12, 23], "directori": [6, 24, 29, 30, 36, 44, 47, 53, 58, 69, 72, 79], "src": [6, 27, 44, 53, 72, 79], "subdirectori": [6, 29], "cmake": [6, 43, 47, 54], "ocninit": [6, 54], "ocnrun": [6, 54], "ocnfin": [6, 54], "resid": [6, 37], "flux": [6, 15, 26, 33, 39, 56, 76], "mct": 6, "moab": 6, "individu": [6, 8, 10, 14, 21, 24, 31, 37, 43, 45, 68, 79], "master": [6, 45, 57], "mpi_comm_world": [6, 13], "instant": [6, 21, 49, 51, 77], "await": 6, "mpicomm": [6, 16], "comm": [6, 13, 16, 36, 41, 45, 48], "timeinst": [6, 11, 36, 52, 68], "out": [6, 8, 11, 15, 21, 24, 32, 35, 36, 38, 41, 53, 72, 79], "sim": [6, 14], "timeinterv": [6, 52], "runinterv": 6, "currstat": 6, "arg": [6, 7], "success": [6, 8, 11, 13, 14], "stage": [6, 14, 15, 17, 22, 52, 54, 72, 73, 78], "especi": [6, 13, 37], "currtim": [6, 21, 36], "inout": 6, "alarm": [6, 11, 36, 42, 52, 77], "endalarm": [6, 36, 52], "ring": [6, 21, 36, 51, 52], "reach": [6, 21, 31], "write": [6, 7, 14, 15, 26, 31, 34, 36, 37, 41, 42, 47, 67, 68, 69], "restart": [6, 9, 14, 15, 36, 37, 42, 68, 78], "dealloc": [6, 24, 32, 39, 42, 46], "With": [6, 24, 30, 37], "subject": 6, "chang": [6, 10, 12, 21, 24, 28, 31, 37, 47, 51, 58, 77], "argc": 6, "char": [6, 21], "argv": 6, "mpi_init": 6, "log_error": [6, 7, 12, 24, 53, 69], "isring": [6, 21, 51], "task": [6, 10, 12, 23, 29, 33, 37, 38, 39, 41, 45, 67, 70], "err2": [6, 53], "erral": 6, "ab": 6, "log_info": [6, 12, 69], "successfulli": [6, 72], "termin": [6, 7, 15, 31], "due": [6, 12], "smoke": 6, "suit": [6, 15, 22], "inher": 6, "regularli": [6, 8, 38, 64], "critic": [7, 12, 31, 69], "facil": 7, "manner": [7, 8, 12, 22, 31, 58], "readabl": [7, 22, 23], "understand": [7, 35], "path": [7, 11, 29, 41, 44, 47, 60, 68, 72], "taken": [7, 15], "leverag": [7, 57], "hierarchi": [7, 23, 31], "debug": [7, 12, 24, 29, 40, 53, 68, 69, 79], "handler": 7, "canon": 7, "caus": [7, 12, 22, 69], "still": [7, 11, 14, 16, 24, 37, 73, 77], "crash": [7, 47], "latter": [7, 21, 24, 31, 37, 70], "incorrect": [7, 12, 69], "unintend": 7, "consid": [7, 11, 15, 47], "reserv": 7, "back": [7, 10, 15, 16, 48], "judg": 7, "creation": [7, 21, 34, 45, 51, 54, 55, 63, 71, 75], "treat": [7, 21, 37], "promot": [7, 32], "sent": [7, 8, 13, 57], "know": [7, 13, 41], "equal": [7, 12, 21, 33, 67, 77], "interpret": [7, 72], "ideal": [7, 15, 21, 24, 72], "immedi": [7, 12, 69], "among": [7, 21, 35, 38, 39, 51, 57, 64, 65, 76], "sign": [7, 15], "nomin": 7, "impair": 7, "uniqu": [7, 10, 11, 21, 37, 62, 68], "spdlog": [7, 12, 44, 69], "cpptrace": 7, "condens": 7, "pattern": [7, 12, 47, 67], "constexpr": [7, 14], "denot": [7, 11, 12, 15, 34, 41, 44], "hold": [7, 8, 10, 13, 14, 21, 33, 41, 61, 63], "allcod": 7, "section": [7, 10, 11, 15, 23, 24, 31, 42, 53, 63, 68, 74, 77, 78], "error_crit": 7, "errcod": 7, "errmsg": 7, "placehold": [7, 72], "noth": [7, 14], "predefin": [7, 12, 15], "definecod": 7, "final": [7, 14, 15, 21, 29, 31, 32, 33, 34, 39, 41, 42, 45, 46, 51, 52, 54, 60, 67], "condit": [7, 15, 17, 18, 22, 24, 31], "myfailcondit": 7, "mysimplemessag": 7, "myvarnam": 7, "definedcod": 7, "myfunct": 7, "error_requir": 7, "msg": 7, "error_assert": 7, "express": [7, 22], "evalu": [7, 15, 25, 40], "alwai": [7, 8, 10, 15, 22, 37], "assert": 7, "behav": [7, 31], "error_check": 7, "error_warn": 7, "unlik": [7, 10, 11, 68], "log_warn": [7, 12, 69], "error_return": 7, "returncod": 7, "error_return_warn": 7, "statement": [7, 18], "myerrmsg": 7, "equival": [7, 13, 21], "error_sum": 7, "errsum": 7, "recent": [7, 15, 22], "care": 7, "confust": 7, "complement": 7, "version": [7, 15, 16, 21, 24, 29, 37, 44, 54, 66, 69, 72, 77], "cleanup": 7, "abnorm": 7, "will_fail": 7, "properti": [7, 10, 11, 21, 24, 37], "inspect": [7, 13, 23], "e": [8, 9, 14, 15, 18, 24, 29, 43, 47, 48, 51, 53, 65, 79], "accomplish": [8, 21, 60, 64], "dimension": [8, 14, 24, 32, 33, 34, 53], "compos": [8, 15], "three": [8, 10, 13, 15, 24, 29, 36, 45, 51, 60, 72], "concurr": [8, 12], "mpi_isend": [8, 38], "mpi_irecv": [8, 38], "mpi_test": 8, "track": [8, 10, 12, 14, 15, 21, 23, 25, 45, 49, 51, 52, 62, 69, 77], "sole": 8, "awar": [8, 13, 41, 67], "want": [8, 11, 13, 30, 47, 68, 72, 78], "oppos": 8, "latenc": [8, 16], "advantag": [8, 15], "circumst": 8, "carri": [8, 11, 24, 36, 38, 53, 79], "safe": [8, 12], "largest": 8, "realloc": 8, "activ": [8, 12, 13, 15, 16, 23, 24, 30, 47], "index": [8, 9, 11, 14, 15, 17, 24, 26, 28, 33, 34, 38, 40, 48, 50, 53, 60, 64, 71, 79], "decomp": [8, 10, 17, 34, 38, 39, 41, 46, 54, 64, 65], "about": [8, 9, 10, 12, 15, 21, 30, 33, 41, 69], "meshel": [8, 38], "oncel": [8, 38], "onedg": [8, 38], "onvertex": [8, 38], "datatyp": [8, 31, 38, 54], "mpi_realkind": 8, "mpi_datatyp": 8, "mpi_float": 8, "mpi_doubl": 8, "exchlist": [8, 38], "offset": [8, 34, 41], "nlist": 8, "ntot": 8, "friend": [8, 10, 21], "progress": [8, 12, 69], "recast": 8, "preserv": [8, 15, 24], "reinterpret_cast": 8, "rankid": 8, "sendlist": 8, "recvlist": 8, "sendbuff": 8, "recvbuff": 8, "rreq": 8, "sreq": 8, "total": [8, 13, 15, 21, 22, 23, 24, 33, 47, 53, 60, 65, 67, 72], "subordin": 8, "access": [8, 10, 11, 12, 21, 23, 24, 33, 39, 41, 42, 46, 51, 53, 67, 79], "nnghbr": 8, "myrank": [8, 13], "mpi_comm": [8, 36, 45, 48], "mycomm": 8, "elemtyp": 8, "declar": [8, 27, 38], "instanc": [8, 11, 12, 13, 14, 21, 25, 31, 34, 38, 40, 42, 46, 49, 50, 52, 55, 71, 75], "indecomp": 8, "inenv": 8, "exchangefullarrayhalo": [8, 38, 64], "locat": [8, 10, 11, 14, 15, 23, 24, 26, 27, 29, 32, 33, 34, 37, 41, 44, 47, 53, 64, 72, 79], "fetch": [8, 47], "catch": 8, "likewis": [8, 15], "subprocess": 8, "arraylocddtt": 8, "funciton": 8, "loc": 8, "dd": [8, 11, 16, 21, 23, 48, 51], "tt": [8, 16, 32, 48], "doc": [8, 28, 35, 43], "tranfer": 8, "startrec": [8, 38], "loop": [8, 13, 14, 23, 24, 31, 33, 34, 36, 37, 40, 42, 50, 76], "startsend": [8, 38], "arrayddtt": 8, "packbuff": [8, 38], "ineighbor": 8, "multidimension": 8, "unpackbuff": [8, 38], "discret": [9, 20, 35, 65, 66], "govern": 9, "compat": [9, 41, 57, 67], "Not": 9, "g": [9, 14, 15, 18, 24, 29, 43, 47, 48, 51, 53, 65, 79], "loncel": [9, 15, 65], "latcel": [9, 15, 65], "explicitli": [9, 13, 15, 37, 41, 68], "connect": [9, 15, 33, 39, 47, 60, 65], "spatial": [9, 15, 22], "split": 9, "baroclin": [9, 60], "frequenc": [9, 10, 11, 12, 42, 68], "subcycl": 9, "wide": [9, 12, 29], "halo": [9, 15, 17, 24, 33, 34, 41, 46, 52, 53, 54, 60, 71], "areacel": [9, 15, 20, 26, 32, 39, 65], "weightsonedg": [9, 15, 65], "avail": [9, 11, 12, 15, 17, 22, 23, 24, 26, 28, 29, 30, 31, 32, 34, 37, 42, 45, 47, 56, 58, 67, 72, 76, 78], "instead": [9, 16, 24, 32, 37, 42, 43, 78], "spread": [9, 67], "amongst": 9, "program": [9, 12, 29], "practic": [9, 14, 15, 72], "post": [9, 10, 24, 67], "checksum": 9, "situat": [9, 11], "mismatch": 9, "deriv": [9, 15, 70], "reciproc": 9, "side": [9, 15, 22, 29], "explicit": [9, 14], "array1dr8": [9, 12, 20, 26, 39], "hostarray1dr8": 9, "areacellh": [9, 39], "hostarray2di4": 9, "cellsoncellh": [9, 33], "releas": [9, 17, 29, 30, 47, 54, 58], "resons": 9, "repsons": 9, "createdevicemirrorcopi": [9, 39], "constrctor": 9, "filesystem": 10, "interact": [10, 14, 51, 72], "layer": [10, 15, 17, 19, 22, 24, 31, 33, 36, 41, 49, 50, 52, 54, 56, 67, 76], "underli": [10, 13, 41, 67], "scorpio": [10, 41, 47, 67], "directli": [10, 13, 15, 24, 26, 34, 41, 47, 51, 53, 64], "hdf5": [10, 41, 67], "altern": [10, 15, 23, 32, 45, 51], "script": [10, 28, 47, 58, 72], "adio": [10, 41, 67], "arbitrari": [10, 11, 14, 21, 31, 62], "solut": [10, 14, 17, 22, 46, 78], "maxim": [10, 13], "bandwidth": 10, "spent": [10, 23], "architectur": [10, 16, 24, 45, 60], "stride": [10, 13, 41, 45], "move": 10, "overwrit": [10, 11, 13, 41], "append": [10, 11, 12, 39, 41, 46, 68], "launch": [10, 13, 23, 36, 70, 72], "resum": 10, "mask": [10, 16, 48], "cost": [10, 40, 67], "appli": [10, 11, 15, 16, 24], "lossless": 10, "rearrang": [10, 13, 41, 60, 67], "layout": [10, 12, 29, 70], "built": [10, 29, 31, 32, 42, 44, 45, 47, 59, 69, 72], "compon": [10, 12, 13, 14, 21, 23, 28, 29, 30, 35, 36, 44, 47, 54, 66], "represent": [10, 51], "overal": [10, 15, 23, 41], "iotask": [10, 67], "iostrid": [10, 67], "iorearrang": [10, 67], "box": [10, 41, 67], "safeti": [10, 67], "core": [10, 12, 13, 15, 27, 60], "unknown": [10, 37, 41], "iofileformat": 10, "pnetcdf": [10, 29], "netcdf4": [10, 41, 67], "pnetcdf5": 10, "iomod": [10, 11], "ioifexist": [10, 11], "ioprecis": [10, 11], "pio": 10, "ioenv": 10, "shared_ptr": [10, 11, 14, 23, 34, 37, 53], "definedenv": 10, "ioformat": 10, "ptr": [10, 21], "iosystem": 10, "dim": [10, 34, 37], "decompcell1di4": 10, "decompcell1dr4": 10, "decompcell1dr8": 10, "decompcell2di4": 10, "decompcell2dr4": 10, "decompcell2dr8": 10, "iofield": [10, 11, 24, 26, 46, 71], "definedfield": 10, "metaptr": 10, "array1di4": [10, 20, 26, 37], "data1di4": 10, "hostarray1di4": [10, 33, 34, 37], "datahost1di4": 10, "overridden": 10, "basi": [10, 11, 15, 21], "env": [10, 13, 47, 72], "omegaenv": [10, 13], "omegadecomp": 10, "ifexist": [10, 11, 41, 68], "iofileopen": 10, "fileid": [10, 41], "filenam": [10, 12, 23, 31, 41, 60, 68], "myenv": 10, "iofileclos": 10, "aggreg": 10, "iowrit": 10, "ioread": 10, "fieldmeta": [10, 63], "attach": [10, 14, 21, 36, 37, 41, 42, 46, 51, 52, 63], "attachdata": [10, 37], "period": [11, 15, 21, 36, 51, 68], "reli": 11, "companion": 11, "exactli": [11, 15, 16, 21], "mechan": [11, 12, 24, 68], "last": [11, 15, 51, 58, 68], "monthli": [11, 21, 51], "short": [11, 14, 18, 37, 68], "how": [11, 12, 15, 16, 41, 47, 57, 72], "reflect": [11, 23], "convent": [11, 12, 21, 37, 46, 47, 63], "higher": [11, 12, 15, 31, 60], "re": [11, 52], "portion": [11, 15, 16, 23, 45, 51, 52, 65, 70, 77, 78], "accumul": [11, 16, 19, 23, 51, 52, 75], "elsewher": [11, 24, 32, 34, 37, 58], "longer": [11, 15, 19, 21, 24, 41, 67, 78], "lossi": 11, "loss": [11, 12, 69], "probabl": 11, "charact": [11, 21, 41, 51, 62, 68], "quot": 11, "mypath": 11, "meshfilenam": [11, 60], "frequnit": [11, 68], "freq": [11, 68], "grpmesh": 11, "pointerfilenam": [11, 68], "grprestart": 11, "year": [11, 15, 21, 51, 62, 68, 77, 78], "histori": [11, 68], "month": [11, 21, 51, 62, 68, 77, 78], "temperatur": [11, 15, 24, 32, 53, 79], "salin": [11, 15, 24, 53, 79], "dai": [11, 21, 51, 62, 68, 77, 78], "annual": [11, 21], "highfreq": [11, 68], "startdat": 11, "yyyi": [11, 23, 62, 68, 78], "mm": [11, 21, 23, 51, 62, 68, 78], "enddat": 11, "stdlib": [11, 23], "risk": 11, "inadvert": 11, "conflict": [11, 24], "namespac": [11, 32, 41], "capit": [11, 65], "instanti": [11, 13], "salarm": 11, "mgr": 11, "usepoint": 11, "flag": [11, 12, 15, 21, 23, 29, 30, 32, 34, 35, 59, 68, 76], "ptrfilenam": 11, "usestartend": [11, 68], "endtim": [11, 52, 68], "numstream": 11, "allstream": 11, "scalar": [11, 14, 15, 16, 21, 37, 41, 45, 48, 74], "And": [11, 33], "remov": [11, 31, 33, 34, 37, 42, 45, 47, 54, 68], "streamid": 11, "action": [11, 31, 43], "pointerfil": 11, "date": [11, 21, 51, 68], "faster": [11, 30], "addfield": [11, 14, 37], "fieldnam": [11, 37], "streamnam": [11, 42], "reset": [11, 13, 21, 42, 51], "writeal": [11, 42], "attempt": 11, "span": [11, 15], "march": [11, 21, 51], "offer": [12, 44, 57, 72], "api": [12, 37, 54], "event": [12, 51], "runtim": 12, "compris": [12, 15], "along": [12, 15, 24, 34, 36, 50], "furnish": 12, "onto": 12, "recogn": [12, 47], "independ": [12, 15, 16], "simultan": 12, "excess": [12, 33], "inconsist": 12, "crucial": 12, "captur": [12, 37], "effect": [12, 27, 44], "troubleshoot": 12, "unbuff": [12, 29], "overhead": 12, "unwritten": 12, "lead": [12, 47], "confus": 12, "choos": [12, 21, 24], "instal": [12, 43, 47, 54, 72], "switchabl": 12, "accommod": [12, 14, 27, 44], "unstructur": [12, 14, 54, 60], "text": [12, 15], "tailor": 12, "transport": [12, 24, 78], "email": 12, "databas": 12, "thisfunction": 12, "analyz": [12, 69], "channel": 12, "logger": [12, 54], "granular": [12, 23], "target": [12, 57], "rich": 12, "highli": 12, "regard": 12, "industri": 12, "comprehens": 12, "softwar": [12, 41, 47, 67], "omega_log_level": [12, 29], "trace": [12, 69], "increas": 12, "destin": 12, "furthermor": [12, 44], "omega_log_pattern": 12, "strftime": 12, "omega_log_task": [12, 29], "comma": [12, 58], "dash": [12, 58], "macro": [12, 54, 69], "guarante": [12, 32, 59, 67], "log_": [12, 44], "log_crit": [12, 69], "attent": [12, 69], "failur": [12, 14, 33, 69], "instabl": [12, 69], "necessarili": [12, 69], "log_debug": [12, 69], "down": [12, 15, 69], "log_trac": [12, 69], "deep": [12, 69], "analysi": [12, 14, 24, 69], "enhanc": [12, 44], "demonstr": [12, 15, 57], "coverag": 12, "dedic": 12, "startup": [13, 68], "hardwar": [13, 15, 41, 67], "kernel": [13, 15, 23], "cpu": [13, 22, 23, 32, 37, 45, 47, 70], "friendli": 13, "sometim": [13, 15, 37, 51, 67], "solv": [13, 22], "fewer": 13, "network": [13, 41, 67], "topologi": 13, "placement": 13, "openmp": [13, 16, 29, 45, 70], "acceler": [13, 15, 32, 76], "hybrid": [13, 23], "easi": [13, 35, 37], "perhap": 13, "omega_vector_s": 13, "16": 13, "mcomm": 13, "mmyrank": 13, "mnumrank": 13, "mmasterrank": 13, "mismast": 13, "defaultenv": [13, 16], "earli": [13, 33, 42, 51, 52, 54, 70, 73], "machenvinit": 13, "incommun": 13, "contigu": [13, 24, 41, 45, 67], "newsiz": [13, 45], "begin": [13, 15, 16, 17, 31, 34, 44, 45, 65], "incl": 13, "custom": [13, 21, 49, 51, 54, 57, 62, 68, 77], "old": [13, 30], "numrank": 13, "ismast": 13, "setmast": 13, "newmasterrank": 13, "soon": [13, 15], "assum": [13, 15, 16, 21, 23, 24, 29, 30, 37, 39, 41, 46, 68, 72], "leav": [13, 47], "wrong": 13, "visual": [13, 15, 23, 47], "nativ": [13, 15, 21, 32, 37, 41, 67], "preprocessor": [13, 23, 32, 59], "propag": 13, "self": [14, 41, 67], "archiv": 14, "proven": [14, 31, 37, 58, 63], "particularli": [14, 15], "disk": [14, 30], "extend": [14, 15, 16, 21, 46, 52], "climat": [14, 15, 37, 47, 63], "forecast": [14, 37, 63], "http": [14, 30, 35, 47, 54], "cfconvent": 14, "org": 14, "compli": 14, "_fillvalu": 14, "valid": [14, 15, 24, 33, 37, 42, 47, 48, 53, 79], "min": [14, 15, 21, 23, 24, 37, 48, 53, 74, 79], "definit": [14, 18, 42, 53, 79], "extent": 14, "coordin": [14, 15, 21, 39, 65], "fix": [14, 15, 16, 28, 37, 43, 47, 78], "unlimit": [14, 37], "seri": 14, "shorthand": 14, "meshfield": 14, "prognosticvar": 14, "shorten": 14, "philosophi": 14, "codemeta": [14, 37, 63], "simmeta": [14, 37], "stamp": [14, 68], "categori": [14, 22], "anywher": 14, "protect": 14, "metamap": 14, "allfield": 14, "arraymetadata": 14, "inherit": [14, 52], "stdname": [14, 24, 37], "validmin": [14, 24, 37], "validmax": [14, 24, 37], "fillvalu": [14, 24, 37, 41], "entri": [14, 16, 23, 24, 31, 37, 41, 53, 58, 68, 79], "ndim": [14, 37, 41], "alldim": 14, "metagroup": 14, "allgroup": 14, "don": [14, 15], "sens": 14, "thrown": 14, "kei": [14, 24, 27, 31, 47, 54, 58, 68], "initializer_list": 14, "metapair": 14, "emtpi": 14, "additiion": 14, "previous": [14, 37, 40, 45, 47], "addentri": 14, "metanam": [14, 37, 41], "usual": [14, 21, 37, 41, 51, 72], "symmetri": 14, "rare": 14, "removeentri": 14, "getentri": 14, "iter": [14, 31, 34], "auto": [14, 24, 31, 32, 34, 40, 50, 53], "varmeta": 14, "getallentri": 14, "metav": 14, "meta": 14, "whatev": 14, "any_cast": [14, 37], "retcod": 14, "getlength": 14, "mylength": 14, "hasentri": 14, "grp": 14, "removefield": [14, 37], "mygroup": [14, 37], "fieldmap": 14, "getallfield": 14, "tabl": [15, 18, 22, 24, 47, 65, 69], "thuburn": 15, "et": 15, "al": 15, "2009": 15, "modern": 15, "exascal": 15, "nearli": 15, "trott": 15, "2022": 15, "feed": [15, 27], "dynam": [15, 24, 29, 78], "pressur": 15, "ringler": 15, "2010": 15, "stand": 15, "alon": 15, "primit": 15, "eddi": [15, 54], "permit": [15, 21, 22], "densiti": [15, 65], "veloc": [15, 17, 19, 26, 49, 52, 56, 66, 76], "scheme": [15, 17, 24, 40, 52, 60, 66, 78], "2013": 15, "suffici": [15, 31, 68], "v1": 15, "petersen": 15, "2019": 15, "impli": [15, 21, 24, 57], "clariti": [15, 24, 47], "eqn": 15, "redund": [15, 33], "boundari": [15, 21, 51], "slip": 15, "had": 15, "darren": 15, "engwirda": 15, "github": [15, 30, 35, 43, 47, 54], "discuss": [15, 43], "alter": 15, "effort": 15, "aust": 15, "calandrini": 15, "2021": 15, "averag": [15, 16, 21, 26, 56], "team": [15, 28, 54], "data": [15, 26, 27, 31, 36, 37, 41, 42, 44, 45, 46, 48, 50, 52, 53, 54, 58, 63, 64, 67, 69, 71, 74, 76, 79], "substanti": 15, "invest": 15, "made": [15, 28], "speed": 15, "upcom": 15, "pde": [15, 39, 40, 46], "solver": [15, 16, 39, 40, 46], "platform": 15, "cuda": [15, 29, 72], "openacc": 15, "pragma": 15, "yakl": 15, "norman": 15, "2023": 15, "hip": [15, 29, 72], "special": [15, 16, 24, 37, 44, 63], "simpler": 15, "front": 15, "scientist": 15, "qu240": 15, "tangenti": [15, 66], "explain": [15, 53], "absenc": 15, "uniform": 15, "assess": 15, "metric": [15, 22, 23], "scalabl": [15, 22], "count": [15, 16, 21, 22, 39], "item": [15, 22, 68], "bishnu": 15, "disabl": [15, 20, 43, 76], "perlmutt": 15, "nersc": 15, "128": 15, "amd": 15, "epyc": 15, "7763": 15, "nvidia": [15, 47], "a100": 15, "factor": 15, "previou": [15, 21, 22, 24, 46, 53], "conduct": [15, 38], "obtain": [15, 17, 22, 25, 49, 52, 72], "julia": 15, "mass": 15, "rotat": [15, 56], "frame": 15, "textbook": 15, "geophys": [15, 54], "fluid": [15, 24, 53, 79], "valli": 15, "2017": 15, "cushman": 15, "roisin": 15, "becker": 15, "2011": 15, "pedloski": 15, "1987": 15, "gill": 15, "2016": 15, "frac": [15, 21, 22], "partial": [15, 22], "boldsymbol": [15, 22], "left": [15, 17, 22, 29], "cdot": 15, "nabla": 15, "right": [15, 22, 29, 47], "f": [15, 21, 43, 56], "b": [15, 18, 47, 69], "hspace": [15, 22], "1cm": [15, 22], "hand": [15, 22], "perp": 15, "q": 15, "nu_2": 15, "nu_4": 15, "mathcal": [15, 22], "phi": [15, 22], "kappa_2": 15, "kappa_4": 15, "viscou": 15, "ra": [15, 22], "c_d": 15, "c_w": 15, "_w": 15, "spin": 15, "quadrat": 15, "lilli": 15, "corioli": [15, 56, 65], "area": [15, 16, 22, 32, 65], "drop": 15, "prognost": [15, 24, 46, 71], "passiv": 15, "prepar": 15, "uniformli": [15, 22], "weight": [15, 22, 26, 56, 65, 76], "kg": 15, "concentr": [15, 22, 24], "divid": [15, 21, 22, 36, 38, 52, 56], "chemic": [15, 24, 53, 79], "mmol": 15, "psu": [15, 24, 53, 79], "appendix": 15, "expans": 15, "2024": 15, "chapter": 15, "weller": 15, "2012": 15, "cotter": 15, "lapolli": 15, "u_": 15, "f_v": 15, "h_i": 15, "_v": 15, "_e": 15, "b_i": 15, "k_i": 15, "phi_i": 15, "subscript": [15, 22], "squar": [15, 58], "bracket": [15, 58], "vari": [15, 21, 23, 37], "posit": [15, 21, 24], "90": 15, "bf": 15, "u_w": 15, "symbol": 15, "a_i": 15, "polygon": 15, "p_i": 15, "bar": 15, "_": [15, 22, 29, 47], "rectangl": 15, "l_e": 15, "d_e": 15, "hat": 15, "triangl": [15, 65], "dual": [15, 65], "d_v": 15, "tild": 15, "kite": 15, "x_v": 15, "x_c": 15, "po": 15, "bottomdepth": [15, 65], "bathymetri": 15, "stress": 15, "distanc": [15, 65], "dcedg": [15, 26, 65], "paramet": [15, 29, 31, 35, 45, 48, 56, 58, 60, 62, 64, 65, 67, 68, 70, 76], "fvertex": [15, 65], "gravit": [15, 76], "unitless": 15, "dvedg": [15, 20, 26, 65], "n_": 15, "edgesignoncel": [15, 20, 26], "eta": 15, "t_": [15, 22], "edgesignonvertex": 15, "verticesonedg": [15, 33, 65], "perp_": 15, "tangentialveloc": 15, "w_": 15, "24": 15, "w": 15, "tfrac": 15, "l_": 15, "absolut": [15, 21], "biharmon": [15, 76], "viscos": [15, 76], "rel": [15, 68, 72], "relativevort": 15, "geometr": 15, "type": [15, 27, 29, 31, 36, 37, 38, 41, 42, 43, 44, 47, 48, 54, 58, 62, 64, 69], "x_i": 15, "primal": 15, "xcell": [15, 65], "ycell": [15, 65], "zcell": [15, 65], "x_e": 15, "xedg": [15, 65], "yedg": [15, 65], "zedg": [15, 65], "lonedg": [15, 65], "latedg": [15, 65], "xvertex": [15, 65], "yvertex": [15, 65], "zvertex": [15, 65], "lonvertex": [15, 65], "latvertex": [15, 65], "segment": [15, 78], "areatriangl": [15, 65], "figur": 15, "ec": 15, "edgesoncel": [15, 20, 26, 33, 60], "ev": 15, "edgesonvertex": [15, 33, 60], "ce": 15, "cv": 15, "cellsonvertex": [15, 33, 60, 65], "ve": 15, "vc": 15, "verticesoncel": [15, 33, 60], "ecp": 15, "edgesonedg": [15, 33, 60, 65], "evc": 15, "show": [15, 47, 57, 68], "hexagon": 15, "grid": [15, 65], "regain": 15, "nonuniform": 15, "f_e": 15, "21": [15, 29, 72], "_i": 15, "equiv": 15, "sum_": 15, "outward": 15, "inward": 15, "notat": 15, "surround": 15, "substitut": 15, "d_i": 15, "22": 15, "opt": [15, 30, 37], "h_": 15, "i2": 15, "i1": 15, "i_1": 15, "i_2": 15, "23": 15, "neg": [15, 21, 24, 34, 53], "contribut": [15, 33, 76], "direct": [15, 22, 24, 54, 65], "toward": 15, "x": [15, 33], "summat": 15, "voronoi": 15, "tessel": 15, "quadrilater": 15, "unless": [15, 30, 32, 59], "miss": [15, 23], "land": 15, "middl": 15, "carefulli": 15, "tangent": 15, "multipli": [15, 16, 21, 76], "ratio": 15, "thu": [15, 24], "revis": 15, "seen": 15, "subroutin": 15, "ocn_diagnostic_solve_vortvel": 15, "mpas_ocn_diagnost": 15, "omega_v": 15, "rewrit": 15, "omega_": [15, 29], "v2": 15, "v_1": 15, "v_2": 15, "mid": 15, "adjoin": 15, "formula": [15, 21], "live": 15, "done": [15, 30, 37, 38, 45, 46], "h_v": 15, "That": [15, 16], "radial": 15, "now": [15, 31, 35, 41, 46, 51, 65, 73], "fundament": [15, 51], "63": 15, "48": 15, "footnot": 15, "half": 15, "k_v": 15, "kineticenergyvertex": 15, "config_include_ke_vertex": 15, "enlarg": 15, "stencil": 15, "q_v": 15, "cancel": 15, "b_": 15, "laplacian": [15, 56, 76], "mention": [15, 37, 40, 41], "gassmann": 15, "17": 15, "gassman": 15, "2018": 15, "44": 15, "i_i": 15, "damp": 15, "adjust": [15, 21], "project": [15, 21, 29, 35, 47, 54, 72], "upstream": 15, "fourth": [15, 52, 78], "monoton": [15, 24], "question": 15, "midpoint": [15, 52, 78], "rule": [15, 58], "wider": 15, "skamarock": 15, "fact": [15, 47], "product": [15, 54, 67], "twice": 15, "auxiliari": [15, 19, 46, 49, 52, 54], "sine": 15, "cartesian": [15, 65], "regular": 15, "2nd": 15, "1st": [15, 51], "threshold": 15, "earliest": 15, "dycor": [15, 65], "subsum": 15, "harmon": 15, "analyt": 15, "hyun": 15, "kang": 15, "doubli": 15, "11": [15, 21, 65], "15": [15, 24, 53, 79], "autom": [15, 31, 36, 47], "13": [15, 47], "19": 15, "williamson": 15, "1992": 15, "lauritzen": 15, "resembl": 15, "relationship": 15, "bound": 15, "100": [15, 24, 47, 53, 72, 79], "64x64": 15, "512x512": 15, "scale": [15, 22], "4096": 15, "close": [15, 31, 35, 41], "perfect": 15, "theoret": 15, "pal": 15, "aquaplanet": 15, "flat": 15, "measur": 15, "stommel": 15, "gyre": 15, "qualit": 15, "isol": 15, "atlant": 15, "basin": 15, "circul": 15, "cannot": [15, 21, 31, 77], "steadi": 15, "unstabl": 15, "jet": 15, "galewski": 15, "2003": 15, "j": [15, 16, 20, 21], "introduct": 15, "academ": 15, "press": 15, "atmospher": 15, "elsevi": 15, "vol": 15, "710": 15, "springer": 15, "cambridg": 15, "univers": [15, 21], "maximum": [16, 23], "arithmet": [16, 21, 24], "dot": 16, "reason": [16, 18, 22, 24], "benefici": [16, 23], "relax": 16, "callabl": [16, 49], "esp": 16, "respect": [16, 24, 29, 37, 51, 53], "minloc": 16, "maxloc": 16, "straightforward": 16, "ddpdd": 16, "donald": 16, "knuth": 16, "further": [16, 31, 37, 44, 63], "david": 16, "bailei": 16, "outlin": [16, 22, 24], "he": 16, "ding": 16, "2001": 16, "supercomput": 16, "18": 16, "259": 16, "robust": 16, "pat": 16, "worlei": 16, "reprosum": 16, "arrayttdd": [16, 48], "thru": 16, "globalsum": [16, 48], "indxrang": 16, "2x": [16, 48], "minlevelcel": 16, "maxlevelcel": 16, "absent": [16, 48], "array1": [16, 48], "array2": [16, 48], "align": 16, "slightli": [16, 40, 58, 68], "arrays1": [16, 48], "arrays2": [16, 48], "operand": 16, "varmin": 16, "globalminv": [16, 48], "cogniz": 16, "inact": 16, "random": 16, "thick": [17, 19, 22, 26, 49, 52, 56, 76], "progost": 17, "prior": [17, 21, 31, 41], "exchang": [17, 24, 46, 53, 54], "intermedi": [17, 37], "fulfil": 17, "array3dr8": 17, "defdecomp": [17, 33, 34], "clearli": 18, "justif": 18, "you": [18, 28, 30, 31, 32, 35, 43, 44, 47, 52, 57, 68, 69, 72], "math": 18, "latex": 18, "hi": 18, "2ab": 18, "involv": [19, 24, 29, 39, 71], "layerthicknesstend": 19, "normalvelocitytend": 19, "thicknessfluxdivoncel": [19, 50, 76], "thicknessfluxdiv": 19, "potentialvorthadvonedg": [19, 50, 76], "potientialvorthadv": 19, "kegradonedg": [19, 50, 76], "kegrad": 19, "sshgradonedg": [19, 50, 76], "sshgrad": 19, "velocitydiffusiononedg": [19, 50, 76], "velocitydiffus": 19, "velocityhyperdiffonedg": [19, 50, 76], "velocityhyperdiff": 19, "defaulttend": 19, "alltend": [19, 49], "functor": [19, 20, 40, 50, 75, 76], "computealltend": [19, 49], "auxilaryst": 19, "auxstat": [19, 25, 49, 52], "computethicknesstend": [19, 49], "computevelocitytend": [19, 49], "scope": [19, 32], "modular": [20, 52], "overrid": [20, 24, 72], "thicknessfluxdivergenceoncel": 20, "tend": [20, 49, 52], "icel": [20, 24, 26, 32, 40, 50, 53], "thicknessflux": 20, "nedgesoncel": [20, 26, 33, 39], "array2dr8": [20, 26, 37], "thicknessfluxtendencyen": [20, 76], "invareacel": [20, 32], "jedg": 20, "earth": [21, 56, 60], "kept": [21, 36], "leap": [21, 51, 62, 77, 78], "million": [21, 51], "drift": 21, "gregorian": [21, 51, 62, 77], "360": [21, 51, 62, 77], "elaps": [21, 51, 62], "sec": [21, 47, 72], "utc": 21, "yearli": 21, "trigger": [21, 29, 36, 51, 72], "paleoclim": 21, "digit": [21, 51, 58, 68], "era": 21, "bce": 21, "accept": [21, 31, 48, 68], "iso": [21, 51], "8601": 21, "decreas": 21, "yyyyyi": [21, 51], "hh": [21, 51], "ss": [21, 51, 62, 68, 78], "sssss": [21, 51], "variat": 21, "fraction": [21, 51], "esmf": 21, "julian": [21, 51, 62, 77], "noon": 21, "jan": [21, 51], "4713": 21, "beauti": 21, "mondai": 21, "fliegel": 21, "van": 21, "flandern": 21, "1968": 21, "657": 21, "hatcher": 21, "1984": 21, "quart": 21, "r": 21, "astr": 21, "soc": 21, "25": 21, "53": 21, "55": 21, "simplif": 21, "were": 21, "wrf": 21, "john": 21, "michalak": 21, "phil": 21, "jone": 21, "scidac": 21, "canga": 21, "timeunit": [21, 51], "minut": [21, 51, 68, 78], "hour": [21, 51, 68, 78], "num_supported_calendar": 21, "9": [21, 47], "calendarkind": [21, 51], "calendargregorian": [21, 51], "calendarnoleap": [21, 51], "yr": [21, 51], "calendarjulian": [21, 51], "calendarjuliandai": [21, 51], "calendarmodjuliandai": [21, 51], "calendar360dai": [21, 51], "12": [21, 51, 62], "calendarcustom": [21, 51], "calendarnocalendar": [21, 51], "calendarunknown": [21, 51], "uniniti": [21, 51], "invalid": [21, 24, 45, 51], "calendarkindnam": [21, 51], "calendar_kind_count": 21, "six": [21, 51], "whole": [21, 51], "numer": [21, 22, 51, 62, 66, 68, 78], "denom": [21, 51], "denomin": [21, 51], "months_per_year": 21, "numcalendar": 21, "calkind": 21, "kind": [21, 51], "calkindnam": 21, "characterist": [21, 59], "dayspermonth": 21, "monthsperyear": 21, "secondsperdai": 21, "secondsperyear": 21, "daysperyear": 21, "elapsedtim": 21, "calptr": 21, "ndai": 21, "iscalendar": 21, "calinterv": 21, "stop": [21, 51, 52, 78], "ringtim": 21, "ringinterv": 21, "ringtimeprev": 21, "statu": [21, 36, 42, 51], "prevtim": [21, 24], "nexttim": 21, "numalarm": 21, "accessor": [21, 51], "sethm": 21, "setsecond": 21, "sethour": 21, "setminut": 21, "setwhol": 21, "setnum": 21, "setdenom": 21, "gethm": 21, "getsecond": 21, "gethour": 21, "getminut": 21, "getwhol": 21, "getnum": 21, "getdenom": 21, "greater": 21, "subtract": 21, "increment": [21, 24, 53], "decrement": 21, "divisor": 21, "modulu": 21, "immut": [21, 51], "queri": [21, 37], "renam": [21, 47], "innam": 21, "outid": 21, "outnam": 21, "outkind": 21, "outdayspermonth": 21, "outmonthsperyear": 21, "outsecondsperdai": 21, "outsecondsperyear": 21, "outdaysperyear": 21, "dpy": [21, 51], "indayspermonth": [21, 51], "insecondsperdai": [21, 51], "insecondsperyear": [21, 51], "indaysperyear": [21, 51], "isleapyear": 21, "rc": 21, "getelapsedtim": 21, "getdatetim": 21, "ref": [21, 63], "sensit": 21, "incrementd": 21, "basic": [21, 24, 35, 40, 45, 54, 57, 66, 69], "cal": 21, "rsecond": 21, "ssssss": 21, "decim": [21, 51], "getstr": [21, 51], "yearwidth": 21, "secondwidth": 21, "varieti": 21, "mathemat": [21, 35], "ambigu": 21, "absvalu": 21, "negabsvalu": 21, "isposit": 21, "give": [21, 33, 35], "alarmtim": 21, "alarminterv": [21, 51], "intervalstart": 21, "updatestatu": 21, "currenttim": [21, 51], "intim": 21, "newnam": 21, "getnam": [21, 31, 37, 52], "setcurrenttim": 21, "changetimestep": [21, 51, 52], "newtimestep": [21, 51], "getcurrenttim": [21, 51], "getprevioustim": 21, "getnexttim": 21, "getstarttim": [21, 52], "gettimestep": [21, 52], "attachalarm": [21, 51], "inalarm": 21, "algebra": 21, "known": [21, 31, 32, 37, 66], "try": 21, "nmonth": 21, "daili": 21, "hourli": 21, "nhour": 21, "nminut": 21, "cover": [21, 23, 24, 35], "method": [22, 25, 31, 32, 36, 37, 38, 39, 41, 46, 49, 51, 57, 58, 60, 63, 71, 78], "differenti": [22, 27, 66], "come": [22, 50, 57], "tempor": 22, "omega0": 22, "accuraci": [22, 32, 59], "stabl": 22, "criteria": 22, "throughput": 22, "fashion": 22, "volum": 22, "manufactur": 22, "wind": 22, "tide": 22, "commonli": [22, 37, 63], "compet": 22, "consolid": 22, "_u": 22, "_h": 22, "delta": 22, "desir": [22, 37, 42, 44, 51, 58, 68, 70], "n_e": 22, "n_i": 22, "t_0": 22, "t_1": 22, "t_n": 22, "superscript": 22, "argu": 22, "violat": 22, "rung": [22, 52, 78], "kutta": [22, 52, 78], "rk4": [22, 52], "adam": 22, "bashforth": 22, "ab2": 22, "heun": 22, "rk2": 22, "converg": 22, "tau": 22, "phi_0": 22, "restor": 22, "exponenti": 22, "decai": 22, "intrins": 22, "avg": 23, "environ": [23, 27, 28, 34, 38, 43, 54, 64, 72], "tree": [23, 35], "human": 23, "summari": 23, "log": [23, 29, 47, 54, 68], "finer": 23, "fine": 23, "flop": 23, "op": 23, "cach": [23, 41, 67], "diagnos": 23, "bottleneck": 23, "papi": 23, "nice": 23, "mark": 23, "leak": 23, "fall": [23, 32], "assist": 23, "use_gptl": 23, "timer_level": 23, "blank": 23, "send": [23, 38, 57, 64], "timerfil": 23, "myfilenam": 23, "timernam": 23, "isrun": 23, "numcal": 23, "accumtim": 23, "child": 23, "parenttim": 23, "childtim": 23, "curtim": [23, 24], "calllevel": 23, "barrier": 23, "fenc": 23, "machenvnam": 23, "stdout": 23, "percentag": 23, "complianc": [23, 37], "heat": [24, 53, 79], "materi": [24, 53, 79], "parcel": [24, 53, 79], "salt": [24, 53, 79], "biolog": [24, 53, 79], "constitu": [24, 53, 79], "central": 24, "cf": [24, 37, 47, 53, 63, 79], "compliant": [24, 63], "belong": [24, 38], "intersect": 24, "evolv": [24, 36, 38], "evolut": 24, "array3dr": [24, 32, 53], "tracerarrai": [24, 49, 53], "swap": 24, "tracerdef": [24, 53, 54], "inc": [24, 53, 54], "indxtemp": [24, 53, 79], "indxsalt": [24, 53, 79], "sort": [24, 43], "temp": [24, 53, 79], "indxinvalid": [24, 53, 79], "inlin": [24, 53, 79], "indxmybgctrac": [24, 53, 79], "definealltrac": [24, 53, 79], "degree_c": [24, 53, 79], "sea_water_potential_temperatur": [24, 53, 79], "273": [24, 53, 79], "e33": [24, 53, 79], "undef": [24, 53, 79], "sea_water_salin": [24, 53, 79], "50": [24, 53, 79], "debug1": [24, 53, 79], "debug2": [24, 53, 79], "debug3": [24, 53, 79], "omit": [24, 37], "traceradv": 24, "someparamet": 24, "ecosi": 24, "mymonotonemethod": 24, "myadditionalopt": 24, "numtrac": 24, "hostarray3dr": [24, 32, 53], "tracerarraysh": [24, 53], "groupstartindex": 24, "grouplength": [24, 53], "tracergroup": 24, "tracerindex": [24, 53], "tracernam": [24, 53], "meshhalo": 24, "tracerdimnam": 24, "circular": 24, "exce": [24, 53], "curtimeindex": 24, "pack": [24, 38], "packtracerfieldnam": 24, "grammar": 24, "grouprang": [24, 53], "unpack": [24, 38, 53], "startindex": [24, 53], "parallelfor": [24, 33, 39, 40, 50, 53], "computegrouptend": [24, 53], "ncell": [24, 32, 33, 34, 37, 41, 53, 60], "nvertlay": [24, 53], "kokkos_lambda": [24, 33, 39, 40, 50, 53], "iindex": [24, 53], "ivert": [24, 53], "itrac": [24, 53], "unabl": 24, "cur": 24, "prev": 24, "artifici": [24, 77], "ismemb": [24, 45], "auxiliaryst": [25, 46, 54, 55], "class": [25, 31, 32, 33, 34, 37, 38, 40, 41, 42, 45, 46, 49, 50, 53, 54, 55, 61, 63, 64, 65, 66, 70, 71, 75, 76], "lifetim": [25, 49], "requir": [25, 29, 30, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 47, 49, 59, 63, 65, 68, 69, 72, 77], "defauxst": 25, "ntracer": [25, 41, 49], "newauxst": 25, "conveniec": 25, "light": 26, "kinet": [26, 56, 76], "energi": [26, 56, 76], "diverg": [26, 40, 56, 66, 76], "velocitydivcel": [26, 56], "addmetadata": [26, 37], "computevarsoncel": 26, "kineticenergycellnam": 26, "velocitydivcellnam": 26, "fluxthickedgeopt": 26, "grab": 26, "neccessari": 26, "helper": 26, "computevarsonvertex": 26, "ivertex": 26, "vortic": [26, 76], "doesn": 26, "velocitydiv": 26, "relvortvertex": [26, 56], "normrelvortvertex": [26, 56], "normplanetvortvertex": [26, 56], "normrelvortedg": [26, 56], "normplanetvortedg": [26, 56], "del2edg": 26, "del2divcel": 26, "del2relvortvertex": 26, "tracerauxvar": 26, "htracersedg": [26, 56], "del2tracerscel": [26, 56], "distinct": [27, 44], "design": [27, 29, 44, 50, 51, 60], "asynchron": [27, 57], "intric": 27, "seamlessli": [27, 44], "procedur": [28, 43], "conda": [28, 43, 54], "your": [28, 30, 43, 47, 69], "branch": [28, 30, 43, 47], "cd": [28, 30, 47], "html": 28, "open": [28, 41], "_build": 28, "browser": 28, "cmakelist": [29, 72], "txt": [29, 30, 47, 72], "consecut": 29, "drive": 29, "test": [29, 31, 34, 35, 41, 51, 54, 72, 77], "detect": 29, "resolv": [29, 54], "By": [29, 45, 64, 69], "e3sm_": 29, "temporari": [29, 47], "prefix": [29, 44], "underscor": 29, "omega_project_nam": 29, "omegaoceanmodel": 29, "omega_exe_nam": 29, "ex": [29, 72], "omega_lib_nam": 29, "omegalib": 29, "omega_build_mod": 29, "not_defin": 29, "omega_build_dir": 29, "omega_source_dir": 29, "omega_default_build_typ": 29, "omega_install_prefix": [29, 72], "omega_arch": [29, 72], "sycl": 29, "omega_cxx_compil": [29, 72], "omega_c_compil": 29, "omega_fortran_compil": 29, "omega_cime_compil": [29, 72], "config_machin": [29, 47, 72], "omega_cime_machin": [29, 72], "omega_cime_project": [29, 72], "slurm": [29, 72], "cime": [29, 47, 72], "omega_cxx_flag": 29, "omega_link_opt": 29, "linker": 29, "omega_build_execut": 29, "omega_build_test": [29, 72], "omega_parmetis_root": [29, 72], "installt": 29, "omega_metis_root": [29, 72], "meti": [29, 33, 60, 72], "omega_gklib_root": [29, 72], "gklib": [29, 72], "omega_hip_compil": 29, "hipcc": 29, "omega_hip_flag": 29, "omega_memory_layout": 29, "omega_tile_length": 29, "tile": 29, "omega_log_info": 29, "omega_log_flush": 29, "turn": [29, 31, 64, 70], "e3sm_source_dir": 29, "e3sm_root": [29, 72], "e3sm_cime_root": 29, "e3sm_cimeconfig_root": 29, "e3sm_externals_root": 29, "e3sm_default_build_typ": 29, "cmake_current_source_dir": [29, 72], "cmake_current_binary_dir": 29, "cmake_current_list_dir": 29, "cmake_cxx_standard": 29, "cmake_cxx_compil": 29, "cmake_cxx_flag": 29, "cmake_build_typ": 29, "cmake_install_prefix": 29, "cmake_vers": 29, "artifact": 29, "until": [29, 31, 36, 57, 60], "modif": [29, 72], "pleas": [29, 35, 43, 47, 69, 73], "lint": [30, 47, 54], "curl": [30, 56, 66], "l": [30, 72], "com": [30, 35, 47, 54], "forg": 30, "miniforg": 30, "latest": [30, 67], "download": [30, 47], "unam": 30, "sh": [30, 47, 72], "bash": 30, "recommend": [30, 35, 44, 47], "somewher": [30, 47], "home": [30, 47], "scratch": [30, 31, 47], "render": 30, "useless": 30, "purg": 30, "gb": 30, "quickli": 30, "quota": 30, "weigh": 30, "trade": 30, "yourself": 30, "skip": 30, "bashrc": 30, "command": [30, 47, 70, 72], "conda_bas": 30, "profil": 30, "anytim": 30, "omega_dev": [30, 47], "dev": [30, 35, 47], "easiest": 30, "recreat": [30, 43], "instruct": [30, 47, 72], "prompt": 30, "sai": 30, "ye": 30, "paradigm": 31, "readal": [31, 42], "getomegaconfig": [31, 50], "deeper": 31, "hmixdel2": 31, "subconfigur": 31, "hmixdel2config": 31, "del2": 31, "existsgroup": 31, "existsvar": 31, "good": [31, 47], "idea": [31, 47], "hmixnewvar": 31, "analog": [31, 33, 57], "streamsconfig": 31, "nodenam": 31, "thisstreamconfig": 31, "const_iter": 31, "retriv": 31, "focu": 31, "bottom": [31, 65], "configtest": 31, "backslash": 31, "4": [32, 47, 54, 58, 59, 67], "byte": [32, 51, 59], "8": [32, 47, 51, 59], "domega_single_precis": [32, 59], "algorithm": [32, 67, 78], "unwant": 32, "_real": 32, "1": [32, 33, 34, 37, 40, 41, 45, 46, 47, 48, 53, 54, 57, 58, 67, 68, 72, 79], "somewhat": 32, "arrayndtt": 32, "hostarrayndtt": 32, "ntimelevel": [32, 46, 52], "temperaturehost": 32, "vice": 32, "versa": [32, 47], "createhostmirrorcopi": 32, "explic": 32, "subdivid": 33, "footprint": 33, "communc": 33, "remot": [33, 47, 60], "ownership": 33, "redistribut": 33, "cellidh": [33, 34, 41], "ncellssiz": [33, 34], "axi": 33, "typical": 33, "maxedg": [33, 39], "vertexdegre": 33, "cellid": [33, 37], "cellloc": 33, "2": [33, 45, 46, 47, 53, 54, 58, 65, 72, 79], "endpoint": 33, "nverticess": 33, "nedgesonedg": 33, "varh": 33, "fluxh": 33, "parallel_for": 33, "pool": 33, "particip": 34, "celloffset": 34, "ncellsoffset": 34, "celldim": 34, "maxedgeoncel": 34, "localdim": 34, "mydimnam": [34, 37], "lengthofdim": 34, "lengthglob": 34, "getdimlengthglob": 34, "lengthloc": 34, "getdimlengthloc": 34, "distrbdim": 34, "isdistributeddim": 34, "myoffset": 34, "getdimoffset": 34, "mydim": 34, "getlengthglob": 34, "getlengthloc": 34, "isdistribut": [34, 37], "getoffset": 34, "thisdim": 34, "sphinx": 35, "myst": 35, "tip": 35, "pull": [35, 43], "flesh": 35, "anchor": 35, "page": [35, 47], "head": 35, "whenev": [35, 63], "think": 35, "who": [35, 44], "background": 35, "referenc": 35, "manual": 35, "review": 35, "intend": [35, 58, 72], "regress": 35, "everyth": 36, "calendar": [36, 62, 77, 78], "omegac": 36, "configal": 36, "durat": [36, 51, 62], "timestepp": [36, 54, 78], "clock": [36, 52, 77], "signal": 36, "dostep": [36, 52], "conventio": 37, "cut": 37, "nedg": [37, 41, 60], "myfield": 37, "numdim": 37, "intimedepend": 37, "uncommon": 37, "fairli": 37, "analys": 37, "restrict": 37, "accident": 37, "timedepend": 37, "attribut": 37, "simfield": 37, "make_pair": 37, "name1": 37, "val1": 37, "name2": 37, "val2": 37, "name3": 37, "val3": 37, "name4": 37, "val4": 37, "arraytyp": 37, "indataarrai": 37, "attachfielddata": 37, "whose": [37, 69], "slice": [37, 68], "reattach": 37, "fieldtyp": 37, "fieldmemloc": 37, "mytype1": 37, "gettyp": [37, 52], "mytype2": 37, "getfieldtyp": 37, "myloc1": 37, "getmemoryloc": 37, "myloc2": 37, "getfieldmemoryloc": 37, "ver": 37, "isonhost": 37, "isfieldonhost": 37, "handi": 37, "getnumdim": 37, "getdimnam": 37, "istimedepend": 37, "myfieldnam": 37, "getmetadata": 37, "metadatanam": 37, "metavalu": [37, 41], "updatemetadata": 37, "newmetavalu": 37, "metaexist": 37, "hasmetadata": 37, "thismeta": 37, "thisfield": 37, "getallmetadata": 37, "getfieldmeta": 37, "coerc": 37, "coercion": [37, 58], "mydata1": 37, "getdataarrai": 37, "mydata2": 37, "getfielddataarrai": 37, "removemetadata": 37, "removeallmetadata": 37, "fieldgroup": [37, 68], "addfieldtogroup": 37, "mygroupexist": 37, "fieldisingroup": 37, "hasfield": 37, "isfieldingroup": 37, "myfieldlist": 37, "getfieldlist": 37, "getfieldlistfromgroup": 37, "shortcut": [37, 63], "getfield": 37, "getfieldfromgroup": 37, "removefieldfromgroup": 37, "perfrom": 38, "defhalo": 38, "newenv": 38, "buffer": [38, 64], "myhalo": [38, 52], "somecellbasedarrai": 38, "alongsid": 39, "hmesh": 39, "computefluxtend": 39, "trisk": [40, 65, 66], "contrast": 40, "plain": 40, "strictli": 40, "divergenceoncel": [40, 66], "divoncel": 40, "vec": 40, "divvec": 40, "gradientonedg": [40, 66], "curlonvertex": [40, 66], "tangentialrecononedg": [40, 66], "principl": 40, "moreov": 40, "henc": 40, "motiv": 40, "nic": [41, 67], "raw": [41, 47], "openfil": 41, "closefil": 41, "moderead": 41, "modewrit": 41, "filefmt": 41, "fmtnetcdf3": 41, "pio_iotype_netcdf": 41, "netcdf3": 41, "classic": [41, 52, 78], "fmtpnetcdf": 41, "pio_iotype_pnetcdf": 41, "fmtnetcdf4c": 41, "pio_iotype_netcdf4c": 41, "cmpress": 41, "fmtnetcdf4p": 41, "pio_iotype_netcdf4p": 41, "fmtnetcdf4": 41, "fmthdf5": 41, "pio_iotype_hdf5": 41, "fmtadio": 41, "pio_iotype_adio": 41, "fmtunknown": 41, "fmtdefault": 41, "earlier": [41, 77], "readarrai": 41, "variablenam": 41, "decompid": 41, "varid": 41, "writearrai": 41, "definevar": 41, "readndvar": 41, "writendvar": 41, "subsystem": 41, "laid": 41, "definedim": 41, "dimnam": 41, "dimid": 41, "nvertic": [41, 60], "getdimfromfil": 41, "dimlength": 41, "createdecomp": 41, "iodatatyp": 41, "globalindx": 41, "rearr": 41, "defaultrearr": 41, "rearrbox": 41, "rearrsubset": 41, "userguid": 41, "offsetcel": 41, "exclud": [41, 45], "iotypei4": 41, "pio_int": 41, "iotypei8": 41, "pio_int64": 41, "iotyper4": 41, "pio_real": 41, "iotyper8": 41, "pio_doubl": 41, "iotypechar": 41, "pio_char": 41, "iotypelog": 41, "null": 41, "writemeta": 41, "readmeta": 41, "globalid": 41, "learn": 41, "modelclock": [42, 51, 52], "allvalid": 42, "validateal": 42, "mystream": 42, "isvalid": 42, "onshutdown": [42, 68], "reqmetadata": 42, "incud": 42, "forcingtim": 42, "commit": [43, 47], "git": [43, 47], "ci": 43, "merg": 43, "hook": 43, "clang": [43, 47], "tidi": 43, "cppcheck": 43, "shortli": 43, "isort": 43, "flynt": 43, "flake8": 43, "pep8": 43, "style": 43, "mypi": 43, "upon": [44, 55, 69, 71, 75], "infra": 44, "encompass": 44, "initlog": 44, "invok": 44, "pivot": 44, "establish": 44, "omega_log_filepath": 44, "constitut": 44, "commenc": 44, "logger_": 44, "versatil": 44, "facilitat": 44, "struct": 44, "thread": [45, 70], "defenv": 45, "getcomm": 45, "mytask": 45, "getmytask": 45, "numtask": 45, "getnumtask": 45, "mastertask": 45, "getmastertask": 45, "ismastertask": 45, "setmastertask": 45, "redefin": 45, "getnumthread": 45, "tune": 45, "mynewenv": 45, "parentenv": 45, "odd": 45, "removeenv": 45, "removeal": 45, "meshdecomp": 46, "meshhalo_": 46, "nvertlevels_": 46, "ntimelevels_": 46, "copytodevic": 46, "copytohost": 46, "updatetimelevel": 46, "shift": 46, "getlayerthick": 46, "normvel": 46, "getnormalveloc": 46, "hostarray2dr": [46, 53], "layerthickh": 46, "getlayerthicknessh": 46, "normvelh": 46, "getnormalvelocityh": 46, "ago": 46, "availi": 46, "ask": 47, "go": 47, "respositori": 47, "click": 47, "button": 47, "upper": 47, "corner": 47, "owner": 47, "usernam": 47, "repositori": 47, "server": 47, "let": 47, "visa": 47, "clone": 47, "repo": 47, "github_usernam": 47, "collabor": 47, "sync": 47, "p": 47, "miniforge3": [47, 54], "reus": 47, "buid": 47, "submodul": 47, "recurs": 47, "ekat": 47, "build_dir": 47, "fresh": 47, "rm": 47, "rf": 47, "mkdir": 47, "parmetis_root": 47, "domega_build_typ": 47, "build_typ": 47, "domega_cime_compil": [47, 72], "domega_cime_machin": [47, 72], "domega_parmetis_root": [47, 72], "domega_build_test": [47, 72], "ON": [47, 64, 72], "wno": 47, "omega_branch": 47, "omega_build": [47, 72], "moment": [47, 51], "planar": 47, "wget": 47, "ocean_test_mesh": 47, "web": 47, "lcrc": 47, "anl": 47, "gov": 47, "inputdata": 47, "ocn": [47, 53, 68, 79], "oqu240": 47, "qu": 47, "240km": 47, "151209": 47, "global_test_mesh": 47, "polaris_cach": 47, "global_converg": 47, "ico": 47, "cosine_bel": 47, "icos480": 47, "initial_st": 47, "230220": 47, "planar_test_mesh": 47, "gist": 47, "mwarusz": 47, "f8caf260398dbe140d2102ec46a41268": 47, "e3c29afbadc835797604369114321d93fd69886d": 47, "planarperiodic48x48": 47, "ln": 47, "sf": 47, "omegamesh": [47, 60, 68], "omegaspheremesh": 47, "omegaplanarmesh": 47, "omega_ctest": [47, 72], "gpf": 47, "fs1": 47, "ac": 47, "xylar": 47, "e3sm_work": 47, "build_omega": [47, 72], "build_chrysalis_intel": 47, "data_types_test": [47, 72], "38": 47, "machine_env_test": 47, "98": 47, "3": [47, 53, 54, 58, 60, 72, 79], "broadcast_test": 47, "logging_test": 47, "03": [47, 72], "5": [47, 57, 58, 65], "decomp_test": 47, "20": [47, 51], "6": [47, 68], "halo_test": 47, "08": 47, "7": 47, "io_test": 47, "94": 47, "config_test": 47, "kokkos_test": 47, "91": 47, "omega_build_typ": 47, "examin": 47, "lasttest": 47, "polaris_bas": 47, "spack": 47, "dev_polaris_0_5_0_": 47, "chicoma": 47, "gnu": 47, "usr": 47, "dev_polaris_0_5_0_gnu_mpich": 47, "chrysali": 47, "intel": 47, "soft": [47, 58, 72], "dev_polaris_0_5_0_intel_openmpi": 47, "dev_polaris_0_5_0_gnu_openmpi": 47, "frontier": 47, "cc": [47, 72], "proj": 47, "cli115": 47, "gnugpu": 47, "dev_polaris_0_5_0_gnugpu_mpich": 47, "crayclang": 47, "dev_polaris_0_5_0_crayclang_mpich": 47, "crayclanggpu": 47, "dev_polaris_0_5_0_crayclanggpu_mpich": 47, "pm": [47, 72], "cdir": 47, "dev_polaris_0_5_0_intel_mpich": 47, "dev_polaris_0_5_0_nvidia_mpich": 47, "nvidiagpu": [47, 72], "dev_polaris_0_5_0_nvidiagpu_mpich": 47, "adher": 47, "llvm": 47, "hope": 47, "coher": 47, "condier": 47, "hpc": 47, "studio": 47, "plugin": 47, "edit": [47, 58, 68], "laptop": 47, "desktop": 47, "preview": 47, "markdown": 47, "val": 48, "indexrang": 48, "nullptr": [48, 53], "signatur": [48, 52], "big": 48, "globalmaxv": 48, "deftend": 49, "newtend": 49, "customthicknesstend": 49, "customvelocitytend": 49, "thicktimelevel": 49, "veltimelevel": 49, "computetracertend": 49, "thickfluxdivonc": 50, "auxillari": 50, "contributon": 50, "thickfluxdixonc": 50, "thicknesstend": 50, "thickfluxedg": 50, "tracerhorzadvoncel": [50, 76], "tracerdiffoncel": [50, 76], "tracerhyperdiffoncel": [50, 76], "round": 51, "calendarnam": 51, "word": 51, "five": 51, "ti1": 51, "realsecond": 51, "eight": 51, "ti2": 51, "roughli": 51, "dd_hh": [51, 62, 68], "ssss": [51, 62], "yy": 51, "ti3": 51, "timestr": 51, "seprat": 51, "interval1": 51, "interval2": 51, "unittyp": 51, "mydeltatim": 51, "mytimeinstant2": 51, "mytimeinstant1": 51, "singlealarm": 51, "alarminst": 51, "periodicalarm": 51, "alarmstart": 51, "newalarmtim": 51, "perman": 51, "getinterv": 51, "priorringtim": 51, "getringtimeprev": 51, "calgreg": 51, "2000": 51, "midnight": 51, "intervalmonthli": 51, "alarmmonthli": 51, "intervalmontli": 51, "2025": 51, "enumer": 52, "timesteppertyp": 52, "forwardbackward": 52, "rungekutta4": [52, 78], "rungekutta2": [52, 78], "Its": 52, "pure": 52, "virtual": 52, "simtim": [52, 68], "concret": 52, "init1": 52, "init2": 52, "deftimestepp": 52, "newtimestepp": 52, "getntimelevel": 52, "getstoptim": 52, "getclock": 52, "getendalarm": 52, "state1": 52, "state2": 52, "timelevel1": 52, "timelevel2": 52, "updatestatebytend": 52, "conceptu": 52, "wise": 52, "updatethicknessbytend": 52, "updatevelocitybytend": 52, "updatetracersbytend": 52, "nexttrac": 52, "curtrac": 52, "weighttrac": 52, "curstat": 52, "accumulatetracersupd": 52, "accumtrac": 52, "finalizetracersupd": 52, "forwardbackwardstepp": 52, "rungekutta2stepp": 52, "rungekutta4stepp": 52, "defint": [53, 54], "accordingli": 53, "currenttracerarrai": 53, "err1": 53, "previoustracerarrai": 53, "tracerarrayh": 53, "summer": 54, "2026": 54, "2027": 54, "trsk": 54, "formul": 54, "port": 54, "timemgr": 54, "reduct": 54, "bypass": 54, "pacakg": 54, "formatt": 54, "stepper": [54, 78], "minval": 54, "maxval": 54, "globalmin": 54, "globalmax": 54, "concept": 54, "v0": 54, "errorhandl": 54, "machineenv": 54, "timer": 54, "veldel2edg": 56, "veldel2divcel": 56, "veldel2relvortvertex": 56, "streamlin": 57, "dissemin": 57, "categor": 57, "myval": 57, "illustr": [57, 72], "seek": 57, "roottask": 57, "subsetenv": 57, "myvector": [57, 58], "push_back": 57, "unix": 58, "colon": [58, 68], "configr": [58, 72], "restarton": 58, "compset": 58, "cluster": 60, "decompmethod": 60, "hardwir": 60, "prove": 61, "0000_02": 62, "000": 62, "dddd_hh": [62, 78], "incosist": 62, "computaion": 64, "broken": 64, "distrubt": 64, "impact": 64, "domega_mpi_on_devic": 64, "toggl": 64, "omega_mpi_on_devic": 64, "caveat": 65, "letter": 65, "fcell": 65, "fedg": 65, "radian": 65, "longitud": 65, "latitud": 65, "kiteareasonvertex": 65, "angleedg": 65, "angl": 65, "eastward": 65, "meshdens": 65, "reconstruct": [65, 66], "row": 65, "stagger": 66, "gradient": [66, 76], "iodefaultformat": 67, "socket": 67, "draw": 67, "strongli": 67, "discourag": 67, "familiar": 67, "shutdown": 68, "breviti": 68, "initialst": 68, "usepointerfil": 68, "onstartup": 68, "restartwrit": 68, "hist": 68, "hifreq": 68, "10": [68, 69, 78], "06": 68, "30_00": 68, "job": [68, 70, 72], "submiss": 68, "problem": 68, "walltim": 68, "irl": 68, "readwrit": 68, "attim": 68, "ontim": 68, "certain": 68, "inclus": 68, "logmsg": 69, "hello": 69, "world": 69, "summar": 69, "myint": 69, "logfil": 69, "mpirun": 70, "srun": [70, 72], "domega_vector_length": 70, "xx": 70, "domega_thread": 70, "strong": 72, "foundat": 72, "emploi": 72, "cime_config": 72, "invoc": 72, "e3sm_hom": 72, "omega_env": 72, "omega_run": 72, "domega_cxx_compil": 72, "domega_arch": 72, "unittest": 72, "succe": 72, "workdir": 72, "cmakecach": 72, "cmakefil": 72, "cmake_instal": 72, "ctesttestfil": 72, "makefil": 72, "domega_install_prefix": 72, "bin": 72, "launcher": 72, "batch": 72, "appropi": 72, "04": 72, "cmake_util": 72, "build_mpas_model": 72, "build_eamxx": 72, "build_model": 72, "buildconf": 72, "caseroot": 72, "cimesrc_path": 72, "add_subdirectori": 72, "endfunct": 72, "libomegalib": 72, "e3sm_bld_directori": 72, "bld": 72, "readi": 73, "sea": 76, "height": 76, "diffus": 76, "pvtendencyen": 76, "ketendencyen": 76, "sshtendencyen": 76, "veldifftendencyen": 76, "viscdel2": 76, "velhyperdifftendencyen": 76, "viscdel4": 76, "tracerhorzadvtendencyen": 76, "tracerdifftendencyen": 76, "eddydiff2": 76, "tracerhyperdifftendencyen": 76, "eddydiff4": 76, "coeffienct": 76, "timeintegr": [77, 78], "western": 77, "eastern": 77, "orthodox": 77, "tradit": 77, "meaningless": 77, "0000_00": 78, "01_02": 78, "momentum": 78, "day_hh": 78, "fit": 78, "queue": 78}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"auxiliaryst": 0, "1": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "overview": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "requir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "auxiliari": [0, 1, 25, 26, 55, 56], "state": [0, 6, 17, 25, 46, 55, 71], "should": [0, 1, 17, 20], "regist": [0, 7, 17], "variabl": [0, 1, 2, 3, 8, 9, 14, 15, 17, 25, 26, 56], "iostream": [0, 10, 11, 17, 42, 68], "comput": [0, 1, 9, 19, 25, 26, 49], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "multipl": [0, 5, 8, 9, 10, 11, 13, 16, 19, 23], "can": [0, 9, 17, 19], "present": [0, 19], "algorithm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "formul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "4": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 51], "design": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 54], "data": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 32, 57, 59], "type": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 32, 52, 57, 59], "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24], "class": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 26, 51, 52], "struct": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24], "method": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 52], "creation": [0, 9, 14, 19, 25, 49, 52], "initi": [0, 13, 19, 23, 25, 44, 49, 52, 53], "retriev": [0, 3, 13, 14, 19], "5": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 51], "destruct": [0, 19], "remov": [0, 14, 19, 25, 49, 52], "verif": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "test": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 47], "function": [1, 3, 9, 14, 26, 48, 57], "have": [1, 20], "simpl": [1, 20], "intuit": [1, 20], "call": [1, 20, 23], "argument": [1, 20, 22], "abl": [1, 20], "group": [1, 3, 14, 20, 24, 26, 53], "under": [1, 20], "differ": [1, 2, 20], "outer": [1, 20], "loop": [1, 20], "over": [1, 20], "mesh": [1, 5, 8, 9, 15, 20, 39, 47, 65], "locat": [1, 5, 7, 16, 20], "vector": [1, 2, 13, 15, 20], "cpu": [1, 15, 16, 20], "architectur": [1, 15, 20], "configur": [1, 3, 24, 26, 31, 58, 79], "option": [1, 3, 5, 11], "output": [1, 7, 10, 12, 23, 29], "6": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 51], "desir": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 23, 24], "small": 1, "memori": [1, 5, 8, 23, 53], "footprint": 1, "constructor": [1, 3, 5, 8, 9, 10, 13, 17, 20, 26], "unit": [1, 20], "converg": [1, 15, 20], "broadcast": [2, 27, 57], "all": [2, 5, 7, 8, 11, 23, 24], "support": [2, 3, 9, 10, 12, 21, 23, 57], "scalar": [2, 57], "from": [2, 15], "ani": 2, "rank": 2, "within": 2, "altern": [2, 13], "environ": [2, 6, 8, 10, 13, 16, 30, 45, 47, 57, 70], "non": [2, 8, 25, 49, 52, 57], "block": [2, 5, 8, 13, 57], "master": [2, 3, 13], "task": [2, 7, 13, 57], "default": [2, 3, 4, 13, 25, 49, 52], "anoth": 2, "other": [2, 7, 13, 16, 22, 23], "subset": [2, 8], "config": [3, 31, 58], "human": 3, "readabl": [3, 4], "standard": 3, "format": [3, 7, 10, 15], "archiv": 3, "proven": 3, "intern": [3, 23], "access": 3, "effici": 3, "parallel": [3, 10, 41, 67], "8": [3, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 23, 24], "singl": [3, 24], "input": [3, 5, 10, 12], "9": [3, 5, 7, 8, 10, 11, 12, 13, 15, 16, 23, 24], "hierarchi": 3, "10": [3, 5, 7, 8, 10, 11, 15, 16, 23, 24], "languag": 3, "11": [3, 5, 7, 8, 10, 11, 16, 23], "miss": 3, "valu": [3, 57], "12": [3, 5, 8, 11, 23], "extra": 3, "13": 3, "autom": 3, "gener": [3, 7], "error": [3, 7], "check": [3, 5, 7, 43, 47], "14": 3, "accept": [3, 22], "file": [3, 10, 11, 12, 79], "read": [3, 9, 10, 11, 17], "get": [3, 13, 47], "chang": [3, 13, 52], "an": [3, 47], "exist": [3, 10, 11, 14], "ad": 3, "new": 3, "entri": 3, "write": [3, 10, 11, 12], "destructor": [3, 5, 9, 17], "document": [3, 28, 35, 54], "auto": 3, "set": [3, 13, 47], "re": 3, "datatyp": 4, "both": 4, "flexibl": 4, "fix": 4, "float": 4, "point": 4, "arrai": [4, 8, 9, 10, 16, 32, 53, 57], "width": 4, "integ": 4, "interoper": 4, "futur": 4, "convers": [4, 10], "explicit": 4, "global": [4, 5, 14, 16, 48, 74], "switch": 4, "real": 4, "size": [4, 13], "kokko": [4, 10, 13, 32, 44], "decomp": [5, 9, 33, 60], "partit": 5, "meti": [5, 47], "onlin": [5, 9], "inform": [5, 9], "halo": [5, 8, 38, 64], "7": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 23, 24], "local": [5, 12], "index": [5, 16], "map": 5, "sort": 5, "releas": 5, "weight": 5, "same": 5, "domain": [5, 15, 33, 60], "sub": 5, "color": 5, "back": 5, "compat": [5, 8, 23], "id": [5, 7], "driver": [6, 36, 62], "compon": [6, 15, 69, 72], "layer": [6, 8], "interfac": [6, 15, 27], "standalon": [6, 13, 69, 72], "encapsul": 6, "persist": 6, "model": [6, 31, 58], "manag": [6, 24, 51, 52, 77], "run": [6, 15, 47], "final": [6, 23, 53], "init": [6, 24], "main": 6, "coupler": 6, "forward": [6, 22], "coupl": [6, 13], "errorhandl": 7, "log": [7, 12, 44, 69], "level": [7, 17, 24, 53], "sever": 7, "abort": 7, "stack": 7, "trace": 7, "identifi": 7, "success": 7, "fail": 7, "code": [7, 27, 43, 47, 57], "messag": 7, "accumul": [7, 21], "compact": 7, "macro": [7, 44], "failur": 7, "mode": [7, 10, 13, 69], "exchang": [8, 38, 64], "element": 8, "depth": 8, "list": 8, "send": 8, "receiv": 8, "buffer": [8, 12], "commun": [8, 13], "devic": [8, 9, 10, 23, 53], "resid": 8, "simultan": 8, "decomposit": [8, 15, 16, 33, 60], "openmp": 8, "thread": [8, 12, 13, 16, 23], "minim": 8, "alloc": 8, "dealloc": 8, "start": [8, 11, 23, 47, 73], "pack": 8, "unpack": 8, "horizont": [9, 39, 40, 65, 66], "omega": [9, 12, 15, 27, 29, 44, 47, 54, 57, 69, 72], "us": [9, 15, 17, 79], "previous": 9, "establish": 9, "mpa": [9, 15], "spec": 9, "i": [9, 10, 24, 73], "need": 9, "host": [9, 10, 53], "transfer": 9, "relev": 9, "zero": 9, "base": [9, 52, 72], "cell": [9, 15], "edg": [9, 15], "vertex": [9, 15], "number": 9, "work": 9, "decompos": 9, "associ": 9, "metadata": [9, 10, 14, 24, 37, 63], "describ": [9, 10], "o": [9, 10, 24], "obtain": 9, "abil": 9, "independ": 9, "object": 9, "reduc": [9, 11], "remain": 9, "copi": 9, "registr": 9, "routin": 9, "io": [10, 41, 42, 67, 68], "field": [10, 11, 14, 16, 37, 48, 63], "self": 10, "stream": [10, 11, 42, 68], "tune": 10, "asynchron": 10, "compress": [10, 11], "open": 10, "close": 10, "oper": [10, 12, 15, 16, 20, 40, 66], "defin": [10, 13, 24], "via": 10, "precis": [11, 32, 59], "content": 11, "each": 11, "exact": [11, 15], "restart": [11, 24], "pointer": 11, "time": [11, 13, 17, 21, 22, 23, 24, 51, 52, 53, 77, 78], "interv": [11, 21], "stop": [11, 23], "filenam": 11, "slice": 11, "per": [11, 24], "behavior": 11, "averag": 11, "creat": [11, 13, 14, 30, 44, 47], "destroi": 11, "add": [11, 14], "basic": [12, 16, 26], "inter": 12, "e3sm": [12, 23, 47, 69, 72], "multi": [12, 15, 16, 48], "process": 12, "formatt": [12, 44], "sink": 12, "capabl": 12, "machineenv": 13, "mpi": [13, 23, 27], "layout": 13, "compil": 13, "machin": [13, 45, 70], "factor": 13, "convent": 14, "dimens": [14, 34, 61], "avail": 14, "contain": 14, "dim": 14, "length": 14, "inquiri": 14, "metadim": 14, "cf": 14, "complianc": 14, "v0": 15, "shallow": 15, "water": 15, "0": 15, "solv": 15, "nonlinear": 15, "equat": 15, "plu": 15, "inact": 15, "tracer": [15, 24, 53, 79], "numer": 15, "trisk": 15, "unstructur": 15, "polari": [15, 47], "preprocess": 15, "postprocess": 15, "portabl": 15, "variou": 15, "doe": 15, "gpu": 15, "node": 15, "correct": 15, "rate": 15, "solut": 15, "conserv": [15, 22], "volum": 15, "perform": [15, 22], "least": 15, "good": 15, "better": 15, "than": 15, "ocean": [15, 46, 71], "full": [15, 23], "throughput": 15, "compar": 15, "govern": 15, "continu": 15, "discret": [15, 22], "definit": [15, 24], "diverg": 15, "gradient": 15, "curl": 15, "perpendicular": 15, "interpol": 15, "momentum": 15, "term": [15, 19, 50, 76], "kinet": 15, "energi": 15, "potenti": 15, "vortic": 15, "sea": 15, "surfac": 15, "height": 15, "del2": 15, "dissip": 15, "del4": 15, "rayleigh": 15, "drag": 15, "bottom": 15, "wind": 15, "forc": 15, "thick": 15, "advect": 15, "diffus": 15, "individu": 15, "inertia": 15, "graviti": 15, "wave": 15, "linear": 15, "manufactur": 15, "transport": 15, "sphere": 15, "spheric": 15, "realist": 15, "coastlin": 15, "further": 15, "refer": 15, "reduct": [16, 48, 74], "sum": [16, 48], "min": 16, "max": 16, "product": [16, 48], "restrict": 16, "address": 16, "space": 16, "reproduc": 16, "acceler": [16, 24], "minval": [16, 48], "maxval": [16, 48], "rang": 16, "prognost": 17, "updat": [17, 29, 30, 43, 79], "timestep": 17, "common": 17, "tendenc": [17, 19, 20, 49, 50, 75, 76], "provi": 17, "templat": 18, "xxx": 18, "yyi": 18, "zzz": 18, "instanc": 19, "must": [20, 22], "allow": 20, "timemanag": 21, "simul": 21, "No": 21, "roundoff": 21, "calendar": [21, 51], "event": 21, "alarm": [21, 51], "long": 21, "string": 21, "represent": 21, "timefrac": [21, 51], "timeinst": [21, 51], "timeinterv": [21, 51], "clock": [21, 51], "step": [22, 29, 52, 78], "accur": 22, "deriv": 22, "stabil": 22, "modular": 22, "The": 22, "rh": 22, "backward": 22, "scheme": 22, "timer": 23, "statist": 23, "context": 23, "sequenc": 23, "coverag": 23, "hardwar": 23, "counter": 23, "profil": 23, "interact": 23, "tool": 23, "print": 23, "gptl": 23, "librari": [23, 47], "infrastructur": 24, "identif": 24, "select": [24, 79], "supercycl": 24, "getnumtrac": [24, 53], "getindex": [24, 53], "getal": [24, 53], "getbyindex": [24, 53], "getgrouprang": [24, 53], "isgroupmemberbyindex": 24, "clear": 24, "structur": [26, 27], "enum": 26, "member": 26, "implement": [26, 51, 52], "ibroadcast": 27, "integr": 27, "build": [28, 29, 47, 69, 72], "cmake": [29, 72], "setup": 29, "develop": [30, 44, 47, 54], "conda": [30, 47], "instal": 30, "miniforge3": 30, "ocninit": 36, "ocnrun": 36, "ocnfin": 36, "lint": 43, "enabl": 43, "bypass": 43, "c": 43, "python": 43, "pacakg": 43, "logger": 44, "custom": 44, "machenv": [45, 70], "quick": [47, 73], "up": 47, "fork": 47, "out": 47, "ctest": 47, "util": [47, 48, 52], "debug": 47, "tip": 47, "parmeti": 47, "style": 47, "v": 47, "globalmin": 48, "globalmax": 48, "timemgr": [51, 77], "descript": 51, "stepper": 52, "timestepp": 52, "do": 52, "getter": 52, "concept": 53, "kei": 53, "api": 53, "getallhost": 53, "gethostbyindex": 53, "getfieldbyindex": 53, "updatetimelevel": 53, "user": [54, 73], "": 54, "guid": 54, "includ": 57, "your": 57, "specifi": 57, "manual": 72, "prepar": 72, "come": 73, "soon": 73, "defint": 79, "tracerdef": 79, "inc": 79, "yaml": 79}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"AuxiliaryState": [[0, "auxiliarystate"]], "1 Overview": [[0, "overview"], [1, "overview"], [2, "overview"], [3, "overview"], [4, "overview"], [5, "overview"], [6, "overview"], [7, "overview"], [8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"], [16, "overview"], [17, "overview"], [18, "overview"], [19, "overview"], [20, "overview"], [21, "overview"], [22, "overview"], [23, "overview"], [24, "overview"]], "2 Requirements": [[0, "requirements"], [1, "requirements"], [2, "requirements"], [3, "requirements"], [4, "requirements"], [5, "requirements"], [6, "requirements"], [7, "requirements"], [8, "requirements"], [9, "requirements"], [10, "requirements"], [11, "requirements"], [12, "requirements"], [13, "requirements"], [14, "requirements"], [15, "requirements"], [16, "requirements"], [17, "requirements"], [18, "requirements"], [19, "requirements"], [20, "requirements"], [21, "requirements"], [22, "requirements"], [23, "requirements"], [24, "requirements"]], "2.1 Requirement: Auxiliary state should register auxiliary variables with IOStreams": [[0, "requirement-auxiliary-state-should-register-auxiliary-variables-with-iostreams"]], "2.2 Requirement: Computation of auxiliary variables": [[0, "requirement-computation-of-auxiliary-variables"]], "2.3 Requirement: Multiple auxiliary states can be present": [[0, "requirement-multiple-auxiliary-states-can-be-present"]], "3 Algorithmic Formulation": [[0, "algorithmic-formulation"], [1, "algorithmic-formulation"], [2, "algorithmic-formulation"], [3, "algorithmic-formulation"], [4, "algorithmic-formulation"], [5, "algorithmic-formulation"], [6, "algorithmic-formulation"], [7, "algorithmic-formulation"], [8, "algorithmic-formulation"], [9, "algorithmic-formulation"], [10, "algorithmic-formulation"], [11, "algorithmic-formulation"], [12, "algorithmic-formulation"], [13, "algorithmic-formulation"], [14, "algorithmic-formulation"], [15, "algorithmic-formulation"], [16, "algorithmic-formulation"], [17, "algorithmic-formulation"], [18, "algorithmic-formulation"], [19, "algorithmic-formulation"], [20, "algorithmic-formulation"], [21, "algorithmic-formulation"], [22, "algorithmic-formulation"], [23, "algorithmic-formulation"], [24, "algorithmic-formulation"]], "4 Design": [[0, "design"], [1, "design"], [2, "design"], [3, "design"], [4, "design"], [5, "design"], [6, "design"], [7, "design"], [8, "design"], [9, "design"], [10, "design"], [11, "design"], [12, "design"], [13, "design"], [14, "design"], [15, "design"], [16, "design"], [17, "design"], [18, "design"], [19, "design"], [20, "design"], [21, "design"], [22, "design"], [23, "design"], [24, "design"]], "4.1 Data types and parameters": [[0, "data-types-and-parameters"], [1, "data-types-and-parameters"], [2, "data-types-and-parameters"], [3, "data-types-and-parameters"], [4, "data-types-and-parameters"], [5, "data-types-and-parameters"], [6, "data-types-and-parameters"], [7, "data-types-and-parameters"], [8, "data-types-and-parameters"], [9, "data-types-and-parameters"], [10, "data-types-and-parameters"], [11, "data-types-and-parameters"], [12, "data-types-and-parameters"], [13, "data-types-and-parameters"], [14, "data-types-and-parameters"], [16, "data-types-and-parameters"], [17, "data-types-and-parameters"], [18, "data-types-and-parameters"], [19, "data-types-and-parameters"], [20, "data-types-and-parameters"], [21, "data-types-and-parameters"], [23, "data-types-and-parameters"]], "4.1.1 Parameters": [[0, "parameters"], [1, "parameters"], [3, "parameters"], [4, "parameters"], [5, "parameters"], [6, "parameters"], [7, "parameters"], [8, "parameters"], [9, "parameters"], [10, "parameters"], [11, "parameters"], [12, "parameters"], [13, "parameters"], [14, "parameters"], [16, "parameters"], [17, "parameters"], [18, "parameters"], [19, "parameters"], [20, "parameters"], [21, "parameters"], [23, "parameters"]], "4.1.2 Class/structs/data types": [[0, "class-structs-data-types"], [1, "class-structs-data-types"], [3, "class-structs-data-types"], [4, "class-structs-data-types"], [5, "class-structs-data-types"], [6, "class-structs-data-types"], [7, "class-structs-data-types"], [8, "class-structs-data-types"], [9, "class-structs-data-types"], [10, "class-structs-data-types"], [11, "class-structs-data-types"], [12, "class-structs-data-types"], [13, "class-structs-data-types"], [14, "class-structs-data-types"], [16, "class-structs-data-types"], [17, "class-structs-data-types"], [18, "class-structs-data-types"], [19, "class-structs-data-types"], [20, "class-structs-data-types"], [21, "class-structs-data-types"], [23, "class-structs-data-types"]], "4.2 Methods": [[0, "methods"], [1, "methods"], [2, "methods"], [3, "methods"], [4, "methods"], [5, "methods"], [6, "methods"], [7, "methods"], [8, "methods"], [9, "methods"], [10, "methods"], [11, "methods"], [12, "methods"], [13, "methods"], [14, "methods"], [16, "methods"], [17, "methods"], [18, "methods"], [19, "methods"], [20, "methods"], [21, "methods"], [23, "methods"], [24, "methods"]], "4.2.1 Creation": [[0, "creation"], [19, "creation"]], "4.2.2 Initialization": [[0, "initialization"], [19, "initialization"]], "4.2.3 Retrieval": [[0, "retrieval"], [19, "retrieval"]], "4.2.4 Computation": [[0, "computation"], [19, "computation"]], "4.2.5 Destruction and removal": [[0, "destruction-and-removal"], [19, "destruction-and-removal"]], "5 Verification and Testing": [[0, "verification-and-testing"], [1, "verification-and-testing"], [2, "verification-and-testing"], [3, "verification-and-testing"], [4, "verification-and-testing"], [5, "verification-and-testing"], [6, "verification-and-testing"], [7, "verification-and-testing"], [8, "verification-and-testing"], [9, "verification-and-testing"], [10, "verification-and-testing"], [11, "verification-and-testing"], [12, "verification-and-testing"], [13, "verification-and-testing"], [14, "verification-and-testing"], [15, "verification-and-testing"], [16, "verification-and-testing"], [17, "verification-and-testing"], [18, "verification-and-testing"], [19, "verification-and-testing"], [20, "verification-and-testing"], [21, "verification-and-testing"], [22, "verification-and-testing"], [23, "verification-and-testing"], [24, "verification-and-testing"]], "5.1 Test multiple auxiliary states": [[0, "test-multiple-auxiliary-states"]], "5.2 Test computation": [[0, "test-computation"], [19, "test-computation"]], "Auxiliary variables": [[1, "auxiliary-variables"]], "2.1 Requirement: Functions that compute auxiliary variables should have simple, intuitive calling arguments": [[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": [[1, "requirement-auxiliary-variables-computations-should-be-able-to-be-grouped-under-different-outer-loops-over-mesh-locations"]], "2.3 Requirement: Vectorization on CPU architectures": [[1, "requirement-vectorization-on-cpu-architectures"]], "2.4 Requirement: Configuration options": [[1, "requirement-configuration-options"]], "2.5 Requirement: Output": [[1, "requirement-output"]], "2.6 Desired: Small memory footprint": [[1, "desired-small-memory-footprint"]], "4.2.1 Constructor": [[1, "constructor"], [5, "constructor"], [9, "constructor"], [17, "constructor"], [20, "constructor"]], "4.2.2 Compute methods": [[1, "compute-methods"]], "5.1 Unit testing": [[1, "unit-testing"], [20, "unit-testing"]], "5.2 Convergence testing": [[1, "convergence-testing"], [20, "convergence-testing"]], "Broadcast": [[2, "broadcast"]], "2.1 Requirement: Broadcast all supported data types": [[2, "requirement-broadcast-all-supported-data-types"]], "2.2 Requirement: Broadcast scalars and vectors": [[2, "requirement-broadcast-scalars-and-vectors"]], "2.3 Requirement: Broadcast from any rank": [[2, "requirement-broadcast-from-any-rank"]], "2.4 Desired: Broadcast within alternative environments": [[2, "desired-broadcast-within-alternative-environments"]], "2.5 Desired: Non-blocking broadcast": [[2, "desired-non-blocking-broadcast"]], "4.2.1 Broadcast from master task in default environment": [[2, "broadcast-from-master-task-in-default-environment"]], "4.2.2 Broadcast from another rank within default environment": [[2, "broadcast-from-another-rank-within-default-environment"]], "4.2.3 Broadcast from master rank within a different environment": [[2, "broadcast-from-master-rank-within-a-different-environment"]], "4.2.4 Broadcast from another rank within a different environment": [[2, "broadcast-from-another-rank-within-a-different-environment"]], "4.2.5 Broadcast of vector variables": [[2, "broadcast-of-vector-variables"]], "4.2.6 Non-blocking broadcasts": [[2, "non-blocking-broadcasts"]], "5.1 Test scalars of all data types": [[2, "test-scalars-of-all-data-types"]], "5.2 Test vectors of all types": [[2, "test-vectors-of-all-types"]], "5.3 Test broadcast from other ranks": [[2, "test-broadcast-from-other-ranks"]], "5.4 Test non-blocking broadcasts": [[2, "test-non-blocking-broadcasts"]], "5.5 Test within a subset environment": [[2, "test-within-a-subset-environment"]], "Config": [[3, "config"]], "2.1 Requirement: Human readability": [[3, "requirement-human-readability"]], "2.2 Requirement: Standard format": [[3, "requirement-standard-format"]], "2.3 Requirement: Archiving and provenance": [[3, "requirement-archiving-and-provenance"]], "2.4 Requirement: Internal accessibility": [[3, "requirement-internal-accessibility"]], "2.5 Requirement: Support of data types": [[3, "requirement-support-of-data-types"]], "2.6 Requirement: Efficiency and parallelism": [[3, "requirement-efficiency-and-parallelism"]], "2.8 Desired: Single configuration input": [[3, "desired-single-configuration-input"]], "2.9 Required: Hierarchy or grouping": [[3, "required-hierarchy-or-grouping"]], "2.10 Requirement: Language support": [[3, "requirement-language-support"]], "2.11 Requirement: Optional or missing values": [[3, "requirement-optional-or-missing-values"]], "2.12 Requirement: Extra values": [[3, "requirement-extra-values"]], "2.13 Desired: Automated generation of default input and error checking": [[3, "desired-automated-generation-of-default-input-and-error-checking"]], "2.14 Desired: Acceptable values": [[3, "desired-acceptable-values"]], "4.2.1 File read and master config": [[3, "file-read-and-master-config"]], "4.2.2 Get/Retrieval": [[3, "get-retrieval"], [13, "get-retrieval"]], "4.2.3 Change an existing value": [[3, "change-an-existing-value"]], "4.2.3 Adding new entries": [[3, "adding-new-entries"]], "4.2.4 Existence": [[3, "existence"]], "4.2.5 File write": [[3, "file-write"]], "4.2.6 Constructor/destructor": [[3, "constructor-destructor"]], "4.3 Documentation and Auto-generation of Default Inputs": [[3, "documentation-and-auto-generation-of-default-inputs"]], "5.1 Test default constructor": [[3, "test-default-constructor"]], "5.2 Test Set function": [[3, "test-set-function"]], "5.3 Test Get function": [[3, "test-get-function"]], "5.4 Test for missing variables": [[3, "test-for-missing-variables"]], "5.5 Test write and re-read": [[3, "test-write-and-re-read"]], "DataTypes": [[4, "datatypes"]], "2.1 Requirement: Both flexible and fixed floating point": [[4, "requirement-both-flexible-and-fixed-floating-point"]], "2.2 Desired: Readability for array types": [[4, "desired-readability-for-array-types"]], "2.3 Desired: Fixed width integer types": [[4, "desired-fixed-width-integer-types"]], "2.4 Desired: Interoperability": [[4, "desired-interoperability"]], "2.5 Future: Floating point conversion": [[4, "future-floating-point-conversion"]], "5.1 Test explicit types": [[4, "test-explicit-types"]], "5.2 Test global switch for default real size": [[4, "test-global-switch-for-default-real-size"]], "5.3 Kokkos array test": [[4, "kokkos-array-test"]], "Decomp": [[5, "decomp"]], "2.1 Requirement: Mesh partition": [[5, "requirement-mesh-partition"]], "2.2 Requirement: Metis option": [[5, "requirement-metis-option"]], "2.3 Required: Online partitioning": [[5, "required-online-partitioning"]], "2.4 Required: Input mesh information": [[5, "required-input-mesh-information"]], "2.5 Required: All mesh locations": [[5, "required-all-mesh-locations"]], "2.6 Required: Halo": [[5, "required-halo"]], "2.7 Required: Local to global index mapping": [[5, "required-local-to-global-index-mapping"]], "2.8 Required: Local sorting": [[5, "required-local-sorting"]], "2.9 Required: Release memory": [[5, "required-release-memory"]], "2.10 Desired: Weighted partitioning option": [[5, "desired-weighted-partitioning-option"]], "2.11 Desired: Multiple partitions of same mesh": [[5, "desired-multiple-partitions-of-same-mesh"]], "2.12 Desired: Multiple domains, sub-blocking or coloring": [[5, "desired-multiple-domains-sub-blocking-or-coloring"]], "4.2.2 Destructor": [[5, "destructor"], [9, "destructor"], [17, "destructor"]], "5.1 Test Metis": [[5, "test-metis"]], "5.2 Back compatibility": [[5, "back-compatibility"]], "5.3 Check global IDs": [[5, "check-global-ids"]], "Driver and Component Layer": [[6, "driver-and-component-layer"]], "2.1 Requirement: Component interfaces": [[6, "requirement-component-interfaces"]], "2.2 Requirement: Standalone driver": [[6, "requirement-standalone-driver"]], "2.3 Requirement: Encapsulation and persistent model state": [[6, "requirement-encapsulation-and-persistent-model-state"]], "2.4 Requirement: Managing environments": [[6, "requirement-managing-environments"]], "2.5 Requirement: Run method": [[6, "requirement-run-method"]], "2.6 Requirement: Finalize method": [[6, "requirement-finalize-method"]], "2.7 Requirement: Init method": [[6, "requirement-init-method"]], "4.2.1 Init": [[6, "init"]], "4.2.2 Run": [[6, "run"]], "4.2.3 Finalize": [[6, "finalize"]], "4.2.4 Standalone driver (main)": [[6, "standalone-driver-main"]], "4.2.5 Coupler-component interfaces": [[6, "coupler-component-interfaces"]], "5.1 Test forward model": [[6, "test-forward-model"]], "5.2 Coupled model testing": [[6, "coupled-model-testing"]], "ErrorHandler (Error)": [[7, "errorhandler-error"]], "2.1 Requirement: Logging errors": [[7, "requirement-logging-errors"]], "2.2 Requirement: Levels of error severity": [[7, "requirement-levels-of-error-severity"]], "2.3 Requirement: Abort on error": [[7, "requirement-abort-on-error"]], "2.4 Requirement: Generate stack trace": [[7, "requirement-generate-stack-trace"]], "2.5 Requirement: Identify task id": [[7, "requirement-identify-task-id"]], "2.6 Requirement: Output location": [[7, "requirement-output-location"]], "2.7 Requirement: Success/fail error codes": [[7, "requirement-success-fail-error-codes"]], "2.8 Requirement: Error messages and formatting": [[7, "requirement-error-messages-and-formatting"]], "2.9 Requirement: Accumulated error": [[7, "requirement-accumulated-error"]], "2.10 Desired: Compact error checking": [[7, "desired-compact-error-checking"]], "2.11 Desired: Registering error codes and messages": [[7, "desired-registering-error-codes-and-messages"]], "4.2.1 Macros": [[7, "macros"]], "4.2.2 Other Error methods": [[7, "other-error-methods"]], "5.1 Test all failure modes": [[7, "test-all-failure-modes"]], "Halo": [[8, "halo"]], "2.1 Requirement: Compatible with all types of arrays": [[8, "requirement-compatible-with-all-types-of-arrays"]], "2.2 Requirement: Exchange at all types of mesh elements": [[8, "requirement-exchange-at-all-types-of-mesh-elements"]], "2.3 Requirement: Variable halo depth": [[8, "requirement-variable-halo-depth"]], "2.4 Requirement: Exchange lists": [[8, "requirement-exchange-lists"]], "2.5 Requirement: Send and receive buffers": [[8, "requirement-send-and-receive-buffers"]], "2.6 Requirement: Non-blocking communication": [[8, "requirement-non-blocking-communication"]], "2.7 Requirement: Compatible with device-resident arrays": [[8, "requirement-compatible-with-device-resident-arrays"]], "2.8 Desired: Communicate subset of halo layers": [[8, "desired-communicate-subset-of-halo-layers"]], "2.9 Desired: Exchange multiple arrays simultaneously": [[8, "desired-exchange-multiple-arrays-simultaneously"]], "2.10 Desired: Multiple environments/decompositions": [[8, "desired-multiple-environments-decompositions"]], "2.11 Desired: OpenMP threading": [[8, "desired-openmp-threading"]], "2.12 Desired: Minimize buffer memory allocation/deallocation": [[8, "desired-minimize-buffer-memory-allocation-deallocation"]], "4.2.1 Constructors": [[8, "constructors"]], "4.2.2 Array halo exchange": [[8, "array-halo-exchange"]], "4.2.3 Start receive/send": [[8, "start-receive-send"]], "4.2.4 Buffer pack/unpack": [[8, "buffer-pack-unpack"]], "5.1 Halo exchange tests": [[8, "halo-exchange-tests"]], "Horizontal Mesh": [[9, "horizontal-mesh"], [39, "horizontal-mesh"], [65, "horizontal-mesh"]], "2.1 Requirement: OMEGA will use the previously established MPAS Mesh Spec": [[9, "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": [[9, "requirement-functionality-is-needed-to-read-the-mesh-on-the-host-and-transfer-relevant-data-to-the-device-for-computation"]], "2.3 Requirement: Zero-based cell, edge, and vertex numbering": [[9, "requirement-zero-based-cell-edge-and-vertex-numbering"]], "2.4 Requirement: Work with Decomp class to decompose mesh": [[9, "requirement-work-with-decomp-class-to-decompose-mesh"]], "2.5 Requirement: Mesh variables will be associated with metadata to describe data": [[9, "requirement-mesh-variables-will-be-associated-with-metadata-to-describe-data"]], "2.6 Requirement: I/O to obtain mesh data": [[9, "requirement-i-o-to-obtain-mesh-data"]], "2.7 Desired: Ability to support multiple independent mesh objects": [[9, "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.": [[9, "desired-omega-can-read-in-a-reduced-number-of-mesh-variables-and-compute-the-remaining-array-information-online"]], "4.2.2 Read": [[9, "read"]], "4.2.3 Compute": [[9, "compute"]], "4.2.4 Device copy creation": [[9, "device-copy-creation"]], "4.2.5 Metadata registration": [[9, "metadata-registration"]], "5.1 Test mesh compute routines": [[9, "test-mesh-compute-routines"]], "Input/Output (IO)": [[10, "input-output-io"]], "2.1 Requirement: Read fields and metadata": [[10, "requirement-read-fields-and-metadata"]], "2.2 Requirement: Write fields and metadata": [[10, "requirement-write-fields-and-metadata"]], "2.3 Requirement: Self-describing formats": [[10, "requirement-self-describing-formats"]], "2.4 Requirement: multiple files/streams": [[10, "requirement-multiple-files-streams"]], "2.5 Requirement: parallel I/O": [[10, "requirement-parallel-i-o"]], "2.6 Requirement: parallel I/O tuning": [[10, "requirement-parallel-i-o-tuning"]], "2.7 Requirement: Data types and type conversion": [[10, "requirement-data-types-and-type-conversion"]], "2.8 Requirement: Kokkos arrays and host/device support": [[10, "requirement-kokkos-arrays-and-host-device-support"]], "2.9 Requirement: Modes on file existence": [[10, "requirement-modes-on-file-existence"]], "2.10 Desired: Asynchronous I/O": [[10, "desired-asynchronous-i-o"]], "2.11 Desired: File compression": [[10, "desired-file-compression"]], "4.2.1 Environment constructor": [[10, "environment-constructor"]], "4.2.2 File open/close": [[10, "file-open-close"]], "4.2.3 Write operations": [[10, "write-operations"]], "4.2.4 Read operations": [[10, "read-operations"]], "4.2.5 Defining IO fields": [[10, "defining-io-fields"]], "5.1 Test via IOStreams": [[10, "test-via-iostreams"]], "IOStreams": [[11, "iostreams"]], "2.1 Requirement: Multiple streams": [[11, "requirement-multiple-streams"]], "2.2 Requirement: Reduced precision": [[11, "requirement-reduced-precision"]], "2.3 Requirement: Contents for each stream": [[11, "requirement-contents-for-each-stream"]], "2.4 Requirement: Exact restart": [[11, "requirement-exact-restart"]], "2.5 Requirement: Restart pointer": [[11, "requirement-restart-pointer"]], "2.6 Requirement: Time intervals": [[11, "requirement-time-intervals"]], "2.7 Requirement: Optional start/stop times": [[11, "requirement-optional-start-stop-times"]], "2.8 Requirement: Filenames": [[11, "requirement-filenames"]], "2.9 Requirement: Multiple time slices per file": [[11, "requirement-multiple-time-slices-per-file"]], "2.10 Requirement: Behavior on file existence": [[11, "requirement-behavior-on-file-existence"]], "2.11 Desired: Time averaging": [[11, "desired-time-averaging"]], "2.12 Desired: Data compression": [[11, "desired-data-compression"]], "4.2.1 Create/Destroy": [[11, "create-destroy"]], "4.2.2 Add fields": [[11, "add-fields"]], "4.2.3 Write streams": [[11, "write-streams"]], "4.2.3 Read streams": [[11, "read-streams"]], "5.1 Test All": [[11, "test-all"], [24, "test-all"]], "Logging": [[12, "logging"]], "2.1 Requirement: Basic logging": [[12, "requirement-basic-logging"]], "2.2 Requirement: Inter-operability with E3SM": [[12, "requirement-inter-operability-with-e3sm"]], "2.3 Requirement: Multi-processing": [[12, "requirement-multi-processing"]], "2.4 Requirement: Multi-threading": [[12, "requirement-multi-threading"]], "2.5 Requirement: Omega data types": [[12, "requirement-omega-data-types"]], "2.6 Requirement: Buffered file input/output": [[12, "requirement-buffered-file-input-output"]], "2.7 Desired: Formatter": [[12, "desired-formatter"]], "2.8 Desired: Output sinks": [[12, "desired-output-sinks"]], "2.9 Desired: Local logging": [[12, "desired-local-logging"]], "4.2.1 Log write": [[12, "log-write"]], "5.1 Test OMEGA logging capabilities": [[12, "test-omega-logging-capabilities"]], "5.2 Test OMEGA data type support": [[12, "test-omega-data-type-support"]], "5.3 Test E3SM inter-operability": [[12, "test-e3sm-inter-operability"]], "MachineEnv": [[13, "machineenv"]], "2.1 Requirement: Initialize MPI in Standalone": [[13, "requirement-initialize-mpi-in-standalone"]], "2.2 Requirement: Create MPI communicator in coupled mode": [[13, "requirement-create-mpi-communicator-in-coupled-mode"]], "2.3 Requirement: Define MPI layouts": [[13, "requirement-define-mpi-layouts"]], "2.4 Requirement: Kokkos initialization": [[13, "requirement-kokkos-initialization"]], "2.5 Requirement: Vector blocking size defined at compile time": [[13, "requirement-vector-blocking-size-defined-at-compile-time"]], "2.6 Desired: Set alternative master task": [[13, "desired-set-alternative-master-task"]], "2.7 Desired: Multiple environments": [[13, "desired-multiple-environments"]], "2.8 Desired: Define threading parameters": [[13, "desired-define-threading-parameters"]], "2.9 Desired: Define other machine parameters": [[13, "desired-define-other-machine-parameters"]], "4.1.3 Default environment": [[13, "default-environment"]], "4.2.1 Initialization": [[13, "initialization"]], "4.2.2 Constructors": [[13, "constructors"]], "4.2.3 Change master task": [[13, "change-master-task"]], "5.1 Test standalone initialization": [[13, "test-standalone-initialization"]], "5.2 Test changing master task": [[13, "test-changing-master-task"]], "5.3 Test multiple environments": [[13, "test-multiple-environments"]], "5.4 Initialization in coupled mode": [[13, "initialization-in-coupled-mode"]], "5.5 Test vector blocking factor": [[13, "test-vector-blocking-factor"]], "Metadata": [[14, "metadata"]], "2.1 Requirement: Data types": [[14, "requirement-data-types"]], "2.2 Requirement: Global and variable metadata": [[14, "requirement-global-and-variable-metadata"]], "2.3 Requirement: Metadata conventions": [[14, "requirement-metadata-conventions"]], "2.4 Requirement: Required metadata": [[14, "requirement-required-metadata"]], "2.5 Requirement: Dimensions": [[14, "requirement-dimensions"]], "2.6 Requirement: Available fields": [[14, "requirement-available-fields"]], "2.7 Desired: Metadata groups": [[14, "desired-metadata-groups"]], "4.2.1 Metadata container creation": [[14, "metadata-container-creation"]], "4.2.2 Add/remove metadata": [[14, "add-remove-metadata"]], "4.2.3 Retrieve metadata": [[14, "retrieve-metadata"]], "4.2.4 Create dimension": [[14, "create-dimension"]], "4.2.5 Retrieve dim length": [[14, "retrieve-dim-length"]], "4.2.6 Existence inquiry": [[14, "existence-inquiry"]], "4.2.6.1 Existence inquiry for metadata container and metadim container": [[14, "existence-inquiry-for-metadata-container-and-metadim-container"]], "4.2.6.2 Existence inquiry for metadata": [[14, "existence-inquiry-for-metadata"]], "4.2.7 Metadata groups": [[14, "metadata-groups"]], "5.1 Test creation/retrieval": [[14, "test-creation-retrieval"]], "5.2 Test global metadata": [[14, "test-global-metadata"]], "5.3 Test inquiry functions": [[14, "test-inquiry-functions"]], "5.4 Test metadata groups": [[14, "test-metadata-groups"]], "5.5 Test CF compliance": [[14, "test-cf-compliance"]], "Omega V0: Shallow Water": [[15, "omega-v0-shallow-water"]], "2.1 Omega-0 will solve the nonlinear shallow water equations, plus inactive tracers": [[15, "omega-0-will-solve-the-nonlinear-shallow-water-equations-plus-inactive-tracers"]], "2.2 Numerical method will be the TRiSK formulation": [[15, "numerical-method-will-be-the-trisk-formulation"]], "2.3 Omega-0 will use MPAS format unstructured-mesh domains": [[15, "omega-0-will-use-mpas-format-unstructured-mesh-domains"]], "2.4 Omega-0 will interface with polaris for preprocessing and postprocessing": [[15, "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)": [[15, "omega-0-will-run-portably-on-various-doe-architectures-cpu-and-gpu-nodes"]], "2.6 Omega-0 will run on multi-node with domain decomposition": [[15, "omega-0-will-run-on-multi-node-with-domain-decomposition"]], "2.7 Correct convergence rates of operators and exact solutions": [[15, "correct-convergence-rates-of-operators-and-exact-solutions"]], "2.8 Conservation of volume and tracer": [[15, "conservation-of-volume-and-tracer"]], "2.9 Performance will be at least as good or better than MPAS-Ocean": [[15, "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": [[15, "full-node-gpu-throughput-will-be-comparable-or-better-than-full-node-cpu-throughput"]], "3.1 Governing Equations": [[15, "governing-equations"]], "3.1.1 Continuous Equations": [[15, "continuous-equations"]], "3.1.2 Discrete Equations": [[15, "discrete-equations"]], "3.2 Variable Definitions": [[15, "variable-definitions"]], "3.2 Operator Formulation": [[15, "operator-formulation"]], "3.2.1. Divergence": [[15, "divergence"]], "3.2.2. Gradient": [[15, "gradient"]], "3.2.3. Curl": [[15, "curl"]], "3.2.4. Perpendicular vector component": [[15, "perpendicular-vector-component"]], "3.2.5. Perpendicular Gradient": [[15, "perpendicular-gradient"]], "3.2.6. Cell to Edge Interpolation": [[15, "cell-to-edge-interpolation"]], "3.2.7. Vertex to Edge Interpolation": [[15, "vertex-to-edge-interpolation"]], "3.2.8. Cell to Vertex Interpolation": [[15, "cell-to-vertex-interpolation"]], "3.2.9. Vertex to Cell Interpolation": [[15, "vertex-to-cell-interpolation"]], "3.2.10. Vector from Edge to Cell": [[15, "vector-from-edge-to-cell"]], "3.3 Momentum Terms": [[15, "momentum-terms"]], "3.3.1. Kinetic energy gradient": [[15, "kinetic-energy-gradient"]], "3.3.2. Potential vorticity term": [[15, "potential-vorticity-term"]], "3.3.3. Sea surface height gradient": [[15, "sea-surface-height-gradient"]], "3.3.4. Del2 momentum dissipation": [[15, "del2-momentum-dissipation"]], "3.3.5. Del4 momentum dissipation": [[15, "del4-momentum-dissipation"]], "3.3.6. Rayleigh Drag": [[15, "rayleigh-drag"]], "3.3.7. Bottom drag": [[15, "bottom-drag"]], "3.3.8. Wind forcing": [[15, "wind-forcing"]], "3.4 Thickness and Tracer Terms": [[15, "thickness-and-tracer-terms"]], "3.4.1. Tracer advection": [[15, "tracer-advection"]], "3.4.2. Del2 tracer diffusion": [[15, "del2-tracer-diffusion"]], "3.4.3. Del4 tracer diffusion": [[15, "del4-tracer-diffusion"]], "5.1 Convergence of individual terms": [[15, "convergence-of-individual-terms"]], "5.2 Inertia Gravity Wave: linearized shallow water, no tracers": [[15, "inertia-gravity-wave-linearized-shallow-water-no-tracers"]], "5.3 Manufactured Solution: full nonlinear shallow water, no tracers": [[15, "manufactured-solution-full-nonlinear-shallow-water-no-tracers"]], "5.4 Tracer transport on a sphere": [[15, "tracer-transport-on-a-sphere"]], "5.5 Performance testing": [[15, "performance-testing"]], "5.6 Shallow water tests on spherical domains and with realistic coastlines": [[15, "shallow-water-tests-on-spherical-domains-and-with-realistic-coastlines"]], "5.7 Further tests for Omega-0": [[15, "further-tests-for-omega-0"]], "References": [[15, "references"]], "Global Reductions": [[16, "global-reductions"], [48, "global-reductions"], [74, "global-reductions"]], "2.1 Requirement: Global sums": [[16, "requirement-global-sums"]], "2.2 Requirement: Global min/max": [[16, "requirement-global-min-max"]], "2.3 Requirement: Data types": [[16, "requirement-data-types"]], "2.4 Requirement: Sums with product": [[16, "requirement-sums-with-product"]], "2.5 Requirement: Restricted address space": [[16, "requirement-restricted-address-space"]], "2.6 Requirement: Multiple fields/arrays": [[16, "requirement-multiple-fields-arrays"]], "2.7 Requirement: Other environments/decompositions": [[16, "requirement-other-environments-decompositions"]], "2.8 Requirement: Reproducibility": [[16, "requirement-reproducibility"]], "2.9 Requirement: Accelerators and location": [[16, "requirement-accelerators-and-location"]], "2.10 Requirement: CPU threading": [[16, "requirement-cpu-threading"]], "2.11 Desired: Other reduction operations": [[16, "desired-other-reduction-operations"]], "4.2.1 Global sum": [[16, "global-sum"]], "4.2.2 Global sum with product": [[16, "global-sum-with-product"]], "4.2.3 Global sum multi-field": [[16, "global-sum-multi-field"]], "4.2.4 Global sum multi-field with product": [[16, "global-sum-multi-field-with-product"]], "4.2.5 Global minval": [[16, "global-minval"]], "4.2.6 Global maxval": [[16, "global-maxval"]], "5.1 Test basics": [[16, "test-basics"]], "5.2 Reproducibility": [[16, "reproducibility"]], "5.3 Restricted index range": [[16, "restricted-index-range"]], "5.4 Sum with product": [[16, "sum-with-product"]], "5.5 Multi-field sums": [[16, "multi-field-sums"]], "5.6 Min/Max": [[16, "min-max"]], "State": [[17, "state"]], "2.1 Requirement: State should register prognostic variables with IOStreams": [[17, "requirement-state-should-register-prognostic-variables-with-iostreams"]], "2.2 Requirement: Update timestep": [[17, "requirement-update-timestep"]], "2.3 Requirement: Can be used as a common data type for tendency and provis variables": [[17, "requirement-can-be-used-as-a-common-data-type-for-tendency-and-provis-variables"]], "4.2.3 Time level update": [[17, "time-level-update"]], "5.1 Test read": [[17, "test-read"]], "5.2 Test time level update": [[17, "test-time-level-update"]], "Template": [[18, "template"]], "2.1 Requirement: xxx": [[18, "requirement-xxx"]], "2.2 Requirement: yyy": [[18, "requirement-yyy"]], "2.3 Desired: zzz": [[18, "desired-zzz"]], "5.1 Test xxx": [[18, "test-xxx"]], "5.2 Test yyy": [[18, "test-yyy"]], "Tendencies": [[19, "tendencies"], [49, "tendencies"], [75, "tendencies"]], "2.1 Requirement: Computation of tendency terms": [[19, "requirement-computation-of-tendency-terms"]], "2.2 Requirement: Multiple tendencies can be present": [[19, "requirement-multiple-tendencies-can-be-present"]], "5.1 Test multiple tendencies instances": [[19, "test-multiple-tendencies-instances"]], "Tendency": [[20, "tendency"]], "2.1 Requirement: Tendencies should be able to be grouped under different outer loops over mesh locations.": [[20, "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.": [[20, "requirement-tendency-operator-calls-should-have-simple-intuitive-calling-arguments"]], "2.3 Requirement: Tendencies must allow for vectorization on CPU architectures.": [[20, "requirement-tendencies-must-allow-for-vectorization-on-cpu-architectures"]], "4.2.2 operator": [[20, "operator"]], "TimeManager": [[21, "timemanager"]], "2.1 Required: Simulation time": [[21, "required-simulation-time"]], "2.2 Required: No accumulation roundoff": [[21, "required-no-accumulation-roundoff"]], "2.3 Required: Calendar support": [[21, "required-calendar-support"]], "2.4 Required: Time intervals": [[21, "required-time-intervals"]], "2.5 Required: Events or alarms": [[21, "required-events-or-alarms"]], "2.6 Required: Long times": [[21, "required-long-times"]], "2.7 Required: Time string representation": [[21, "required-time-string-representation"]], "4.1.2.1 TimeFrac class": [[21, "timefrac-class"]], "4.1.2.2 Calendar class": [[21, "calendar-class"]], "4.1.2.3 TimeInstant class": [[21, "timeinstant-class"]], "4.1.2.4 TimeInterval class": [[21, "timeinterval-class"]], "4.1.2.5 Alarm class": [[21, "alarm-class"]], "4.1.2.6 Clock class": [[21, "clock-class"]], "4.2.1 TimeFrac class": [[21, "id1"]], "4.2.2 Calendar class": [[21, "id2"]], "4.2.3 TimeInstant class": [[21, "id3"]], "4.2.4 TimeInterval class": [[21, "id4"]], "4.2.5 Alarm Class": [[21, "id5"]], "4.2.6 Clock Class": [[21, "id6"]], "5.1 Test TimeFrac": [[21, "test-timefrac"]], "5.2 Test TimeInstant": [[21, "test-timeinstant"]], "5.3 Test Calendar": [[21, "test-calendar"]], "5.4 Test Time Intervals": [[21, "test-time-intervals"]], "5.5 Test Alarms": [[21, "test-alarms"]], "5.6 Test Clock": [[21, "test-clock"]], "Time Stepping": [[22, "time-stepping"]], "2.1 Requirement: Accurate discretization of time derivative": [[22, "requirement-accurate-discretization-of-time-derivative"]], "2.2 Requirement: Stability": [[22, "requirement-stability"]], "2.3 Requirement: Performance": [[22, "requirement-performance"]], "2.4 Requirement: Modularity": [[22, "requirement-modularity"]], "2.5 Requirement: Conservation": [[22, "requirement-conservation"]], "2.6 Requirement: The RHS must accept a time argument": [[22, "requirement-the-rhs-must-accept-a-time-argument"]], "3.1 Forward-Backward Scheme": [[22, "forward-backward-scheme"]], "3.2 Other Schemes": [[22, "other-schemes"]], "Timers": [[23, "timers"]], "2.1 Requirement: Timers": [[23, "requirement-timers"]], "2.2 Requirement: Timing statistics": [[23, "requirement-timing-statistics"]], "2.3 Requirement: Timing context": [[23, "requirement-timing-context"]], "2.4 Requirement: Call sequence": [[23, "requirement-call-sequence"]], "2.5 Requirement: Output and E3SM compatibility": [[23, "requirement-output-and-e3sm-compatibility"]], "2.6 Requirement: Full coverage": [[23, "requirement-full-coverage"]], "2.7 Requirement: MPI context": [[23, "requirement-mpi-context"]], "2.8 Desired: Support for multiple devices": [[23, "desired-support-for-multiple-devices"]], "2.9 Desired: Other hardware counters": [[23, "desired-other-hardware-counters"]], "2.10 Desired: Thread support": [[23, "desired-thread-support"]], "2.11 Desired: Memory profiling": [[23, "desired-memory-profiling"]], "2.12 Desired: Interaction with other profiling tools": [[23, "desired-interaction-with-other-profiling-tools"]], "4.2.1 Start": [[23, "start"]], "4.2.2 Stop": [[23, "stop"]], "4.2.3 Print": [[23, "print"]], "4.2.5 Initialize, Finalize": [[23, "initialize-finalize"]], "5.1 Test all internal timers": [[23, "test-all-internal-timers"]], "5.2 Test all timers with GPTL library": [[23, "test-all-timers-with-gptl-library"]], "Tracer Infrastructure": [[24, "tracer-infrastructure"]], "2.1 Requirement: Tracer definition and metadata": [[24, "requirement-tracer-definition-and-metadata"]], "2.2 Requirement: Tracer identification": [[24, "requirement-tracer-identification"]], "2.3 Requirement: Tracer groups": [[24, "requirement-tracer-groups"]], "2.4 Requirement: Tracer selection": [[24, "requirement-tracer-selection"]], "2.5 Requirement: Tracer restart and I/O": [[24, "requirement-tracer-restart-and-i-o"]], "2.6 Requirement: Time levels": [[24, "requirement-time-levels"]], "2.7 Requirement: Acceleration or supercycling": [[24, "requirement-acceleration-or-supercycling"]], "2.8 Desired: Per-tracer/group algorithmic requirements": [[24, "desired-per-tracer-group-algorithmic-requirements"]], "4.1 Data Types and Parameters": [[24, "data-types-and-parameters"]], "4.1.1 Definition": [[24, "definition"]], "4.1.2 Configuration": [[24, "configuration"]], "4.1.3 Classes/Structs/Data Types": [[24, "classes-structs-data-types"]], "4.2.1 init": [[24, "init"]], "4.2.2 define": [[24, "define"]], "4.2.3 getNumTracers": [[24, "getnumtracers"]], "4.2.4 getIndex": [[24, "getindex"]], "4.2.5 getAll": [[24, "getall"]], "4.2.6 getByIndex (Single Tracer)": [[24, "getbyindex-single-tracer"]], "4.2.7 getGroupRange": [[24, "getgrouprange"]], "4.2.8 isGroupMemberByIndex": [[24, "isgroupmemberbyindex"]], "4.2.9 Managing Time Levels": [[24, "managing-time-levels"]], "4.2.10 clear": [[24, "clear"]], "Auxiliary State": [[25, "auxiliary-state"], [55, "auxiliary-state"]], "Initialization": [[25, "initialization"], [49, "initialization"], [52, "initialization"]], "Creation of non-default auxiliary states": [[25, "creation-of-non-default-auxiliary-states"]], "Computation of auxiliary variables": [[25, "computation-of-auxiliary-variables"]], "Removal of auxiliary states": [[25, "removal-of-auxiliary-states"]], "Auxiliary Variables": [[26, "auxiliary-variables"], [56, "auxiliary-variables"]], "Basic class structure": [[26, "basic-class-structure"]], "Configuration enums": [[26, "configuration-enums"]], "Constructor": [[26, "constructor"]], "Compute member functions": [[26, "compute-member-functions"]], "Implemented groups": [[26, "implemented-groups"]], "Omega Broadcast": [[27, "omega-broadcast"], [57, "omega-broadcast"]], "Code Structure": [[27, "code-structure"]], "IBroadcast Interface": [[27, "ibroadcast-interface"]], "Integration with MPI": [[27, "integration-with-mpi"]], "Building the Documentation": [[28, "building-the-documentation"]], "Omega Build with CMake": [[29, "omega-build-with-cmake"]], "Step 1: Setup": [[29, "step-1-setup"]], "Step 2: Update": [[29, "step-2-update"]], "Step 3: Build": [[29, "step-3-build"]], "Step 4: Output": [[29, "step-4-output"]], "Development Conda Environment": [[30, "development-conda-environment"]], "Installing Miniforge3": [[30, "installing-miniforge3"]], "Creating the Conda Environment": [[30, "creating-the-conda-environment"]], "Updating the Conda Environment": [[30, "updating-the-conda-environment"]], "Model Configuration (Config)": [[31, "model-configuration-config"], [58, "model-configuration-config"]], "Data Types and Precision": [[32, "data-types-and-precision"], [59, "data-types-and-precision"]], "Arrays and Kokkos": [[32, "arrays-and-kokkos"]], "Domain Decomposition (Decomp)": [[33, "domain-decomposition-decomp"], [60, "domain-decomposition-decomp"]], "Dimension": [[34, "dimension"], [61, "dimension"]], "Documentation": [[35, "documentation"]], "Driver": [[36, "driver"], [62, "driver"]], "ocnInit": [[36, "ocninit"]], "ocnRun": [[36, "ocnrun"]], "ocnFinalize": [[36, "ocnfinalize"]], "Fields and Metadata (Field)": [[37, "fields-and-metadata-field"], [63, "fields-and-metadata-field"]], "Halo Exchanges (Halo)": [[38, "halo-exchanges-halo"], [64, "halo-exchanges-halo"]], "Horizontal Operators": [[40, "horizontal-operators"], [66, "horizontal-operators"]], "Parallel IO (IO)": [[41, "parallel-io-io"], [67, "parallel-io-io"]], "IO Streams (IOStream)": [[42, "io-streams-iostream"], [68, "io-streams-iostream"]], "Linting Code": [[43, "linting-code"]], "Enabling Lint Checks": [[43, "enabling-lint-checks"]], "Bypassing Linting": [[43, "bypassing-linting"]], "Linting C++ Code": [[43, "linting-c-code"]], "Linting Python Code": [[43, "linting-python-code"]], "Updating the linting pacakge": [[43, "updating-the-linting-pacakge"]], "Developing Omega Logging": [[44, "developing-omega-logging"]], "Initializing Omega Logger": [[44, "initializing-omega-logger"]], "Creating Logging Macros": [[44, "creating-logging-macros"]], "Customer formatter for Kokkos": [[44, "customer-formatter-for-kokkos"]], "Machine Environment (MachEnv)": [[45, "machine-environment-machenv"], [70, "machine-environment-machenv"]], "Ocean State": [[46, "ocean-state"], [71, "ocean-state"]], "Quick Start for Developers": [[47, "quick-start-for-developers"]], "Getting set up": [[47, "getting-set-up"]], "Creating an E3SM fork": [[47, "creating-an-e3sm-fork"]], "Check out the code": [[47, "check-out-the-code"]], "Create a conda environment": [[47, "create-a-conda-environment"]], "Building and testing Omega": [[47, "building-and-testing-omega"]], "Polaris CTest Utility": [[47, "polaris-ctest-utility"]], "Building Omega": [[47, "building-omega"]], "Getting test meshes": [[47, "getting-test-meshes"]], "Running CTests": [[47, "running-ctests"]], "Debugging tips": [[47, "debugging-tips"]], "Metis and Parmetis libraries": [[47, "metis-and-parmetis-libraries"]], "Code development": [[47, "code-development"]], "Code style": [[47, "code-style"]], "VS Code": [[47, "vs-code"]], "Global sum": [[48, "global-sum"]], "Global sum with product": [[48, "global-sum-with-product"]], "Global sum multi-field": [[48, "global-sum-multi-field"]], "Global sum multi-field with product": [[48, "global-sum-multi-field-with-product"]], "Global minval and maxval": [[48, "global-minval-and-maxval"]], "Utility functions globalMin globalMax": [[48, "utility-functions-globalmin-globalmax"]], "Creation of non-default tendencies": [[49, "creation-of-non-default-tendencies"]], "Computation of tendencies": [[49, "computation-of-tendencies"]], "Removal of tendencies": [[49, "removal-of-tendencies"]], "Tendency Terms": [[50, "tendency-terms"], [76, "tendency-terms"]], "Time Manager (TimeMgr)": [[51, "time-manager-timemgr"], [77, "time-manager-timemgr"]], "Class Descriptions": [[51, "class-descriptions"]], "1. TimeFrac": [[51, "timefrac"]], "2. Calendar": [[51, "calendar"]], "3. TimeInstant": [[51, "timeinstant"]], "4. TimeInterval": [[51, "timeinterval"]], "5. Alarm": [[51, "alarm"]], "6. Clock": [[51, "clock"]], "Implementation": [[51, "implementation"]], "Time stepping": [[52, "time-stepping"], [78, "time-stepping"]], "Time stepper type": [[52, "time-stepper-type"]], "TimeStepper base class": [[52, "timestepper-base-class"]], "Do step method": [[52, "do-step-method"]], "Time stepper management methods": [[52, "time-stepper-management-methods"]], "Creation of non-default time steppers": [[52, "creation-of-non-default-time-steppers"]], "Changing the time step": [[52, "changing-the-time-step"]], "Getters": [[52, "getters"]], "Removal of time steppers": [[52, "removal-of-time-steppers"]], "Utility methods": [[52, "utility-methods"]], "Implemented time steppers": [[52, "implemented-time-steppers"]], "Tracers": [[53, "tracers"], [79, "tracers"]], "Concepts": [[53, "concepts"]], "Arrays in Host and Device Memory": [[53, "arrays-in-host-and-device-memory"]], "Tracer Groups": [[53, "tracer-groups"]], "Time Levels": [[53, "time-levels"]], "Initialization and Finalization": [[53, "initialization-and-finalization"]], "Key APIs": [[53, "key-apis"]], "getAll and getAllHost": [[53, "getall-and-getallhost"]], "getGroupRange": [[53, "getgrouprange"]], "getByIndex and getHostByIndex": [[53, "getbyindex-and-gethostbyindex"]], "getIndex": [[53, "getindex"]], "getFieldByIndex": [[53, "getfieldbyindex"]], "updateTimeLevels": [[53, "updatetimelevels"]], "getNumTracers": [[53, "getnumtracers"]], "Omega": [[54, "omega"]], "User's guide": [[54, null]], "Developer's guide": [[54, null]], "Design documents": [[54, null]], "Broadcasting Functions": [[57, "broadcasting-functions"]], "Blocking Broadcasting Functions": [[57, "blocking-broadcasting-functions"]], "Including the Broadcasting Functions in Your Code": [[57, "including-the-broadcasting-functions-in-your-code"]], "Broadcasting Scalar or Array Values": [[57, "broadcasting-scalar-or-array-values"]], "Specifying broadcasting task and/or environment in Omega": [[57, "specifying-broadcasting-task-and-or-environment-in-omega"]], "Broadcasting Array Values": [[57, "broadcasting-array-values"]], "Supported Data Types for Broadcasting": [[57, "supported-data-types-for-broadcasting"]], "Non-blocking Broadcasting Functions": [[57, "non-blocking-broadcasting-functions"]], "Omega Logging": [[69, "omega-logging"]], "Logging in Standalone Build mode": [[69, "logging-in-standalone-build-mode"]], "E3SM Component Build": [[69, "e3sm-component-build"], [72, "e3sm-component-build"]], "CMake-based Omega Build": [[72, "cmake-based-omega-build"]], "Standalone Build": [[72, "standalone-build"]], "Manual Preparation for E3SM Component Build": [[72, "manual-preparation-for-e3sm-component-build"]], "Quick Start for Users": [[73, "quick-start-for-users"]], "Quick Start for Users is coming soon": [[73, null]], "Updating tracer defintions in TracerDefs.inc file": [[79, "updating-tracer-defintions-in-tracerdefs-inc-file"]], "Selecting tracers using YAML configuration file": [[79, "selecting-tracers-using-yaml-configuration-file"]]}, "indexentries": {}}) \ No newline at end of file