<p><b>pwjones@lanl.gov</b> 2011-09-02 12:23:32 -0600 (Fri, 02 Sep 2011)</p><p><br>
Initial skeleton and draft for the testing document - may want to put this elsewhere soon.<br>
</p><hr noshade><pre><font color="gray">Added: branches/ocean_projects/performance/MPASOceanTesting.pdf
===================================================================
(Binary files differ)


Property changes on: branches/ocean_projects/performance/MPASOceanTesting.pdf
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/ocean_projects/performance/MPASOceanTesting.tex
===================================================================
--- branches/ocean_projects/performance/MPASOceanTesting.tex                                (rev 0)
+++ branches/ocean_projects/performance/MPASOceanTesting.tex        2011-09-02 18:23:32 UTC (rev 977)
@@ -0,0 +1,211 @@
+\documentclass[11pt]{report}
+
+\usepackage{epsf,amsmath,amsfonts}
+\usepackage{graphicx}
+\usepackage{moreverb}
+
+\begin{document}
+
+\title{MPAS Ocean Testing and Testbed Plan: \\
+Requirements and Design}
+\author{Doug Jacobsen \and Phil Jones \and Todd Ringler \and Bill Large 
+        \and Gokhan Danabosoglu \and others to be added}
+
+\maketitle
+\tableofcontents
+
+%-----------------------------------------------------------------------
+
+\chapter{Summary}
+
+This document describes an overall test plan for verifying and validating 
+the MPAS Ocean model and to a lesser extent, ocean models in general.  A 
+hierarchy of such tests is described.  This document should evolve as
+more tests are defined and when new failure modes are identified, related
+tests should be added to this test suite.
+
+%-----------------------------------------------------------------------
+
+\chapter{Requirements}
+
+\section{Unit Tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Phil Jones) \\
+
+When possible, specific modules or operators should have a defined unit 
+test that can test the behavior against an analytic or known result.  While 
+this may be difficult for more complex operators or parameterizations, it 
+should be possible for much of the infrastructure routines and well-defined 
+operations like the equation of state for which reference values are available.
+
+\section{Intermediate tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Well-defined test cases should be defined for partial or simpler configurations 
+that test more than one aspect of the code base.  Examples include advection 
+tests and shallow water test cases.  Results from these tests may not be 
+simple objective evaluations (e.g. tradeoffs between dispersion, diffusion 
+and monotonicity in advection), but should provide a framework and quantitative
+measures within which the configuration can be judged.
+
+\section{System tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Full system tests are required to provide a validation of the model 
+against observational data.
+
+\section{Regression Tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Some subset of the above test, including all of the unit tests, should be 
+included in an automated test suite with a script that can perform and 
+evaluate each tests on a regular (e.g. nightly) basis.  Such tests require 
+a method for a simple pass/fail evaluation of each included test.
+
+%-----------------------------------------------------------------------
+
+\chapter{Design and Implementation}
+
+\section{Unit Tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Unit tests can be defined for the following modules.
+
+\subsection{Halo Updates}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+A test case for testing the validity of values in the halo region for halo updates should be defined.  This test should include a variety of grids and
+decompositions to cover any previous failure modes and potentially problematic 
+combinations of grids and decompositions.
+
+\subsection{Global Reductions}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+A test case for ensuring accurate computation of global reductions of a 
+known field should be defined. Tests for all supported interfaces 
+(e.g. integer, real, double, logical fields) and all supported reduction
+operators (sum, min, max, masked sum) should be included.  If a 
+bit-reproducible implementation is available, bit-reproducibility across
+different node/processor counts should be tested.
+
+\subsection{I/O}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Tests of the I/O system should validate whether fields are accurately written and read to a file.  Multiple grid and processor configurations should be
+included.
+
+\subsection{Equation of State}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+A unit test for returning the proper values of the ocean equation of 
+state should be included.  Reference density values for a few specific 
+p,T,S combinations are known and published for the typical equation of state 
+implementations.
+
+%-----------------------------------------------------------------------
+
+\section{Intermediate Tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Several intermediate tests are either published or commonly used.  Some
+have analytic results while others must be compared to reference
+simulations, typically at high resolution.
+
+\subsection{Advection Tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Advection algorithms are often tested by advecting a shape around the
+surface of the Earth.  Such a test should be included. Add details
+on specific test case...
+
+\subsection{Shallow Water Test Cases}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Add specifics here
+
+\subsection{Channel Test Case}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+A channel configuration is a good test of eddy processes and ACC flow.  
+A standard configuration is defined as (dimensions, forcing)....   

+\subsubsection{N. Atlantic variant}
+
+Variants of the channel case are useful.  For example, adding
+a North Atlantic basin (simple box) can be used.
+
+\subsection{Double-gyre}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+The double-gyre configuration is a commonly explored case in the
+ocean community and can be used to test both boundary interactions
+and viscosity formulations.  A variety of configurations can be
+used.
+
+\subsubsection{Double-gyre variant 1}
+\subsubsection{Double-gyre variant 2}
+
+\subsection{Mixed layer tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+Vertical mixing and mixed/boundary layer parameterizations can be
+tested using a simple 2-d configuration with depth as one dimension
+and space/time as the second.  A variation in surface buoyancy 
+forcing can be imposed in the space/time direction to mimic either
+spatial variability or diurnal cycling.  
+
+\subsection{Equatorial Pacific}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+An equatorial Pacific configuration is also a good test of vertical
+mixing in a configuration that includes both wind and buoyancy forcing
+as well as realistic ocean conditions.  Specifics to be added...
+
+\subsection{Overflows}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+An overflow test case is useful to explore both vertical coordinate
+choices as well as any specific overflow parameterizations.  More
+details here (DOME configuration?).
+
+%-----------------------------------------------------------------------
+
+\section{Full System Tests}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+\subsection{CORE forced case}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+The Common Ocean Reference Experiment (CORE) defines a useful test case
+for a full ocean simulation and comparisons with existing models can
+be performed.  More detail...
+
+\subsection{Variable resolution tests?}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+\subsection{High resolution tests?}
+Date last modified: 2011/09/02 \\
+Contributors: (Doug Jacobsen, Phil Jones) \\
+
+%-----------------------------------------------------------------------
+
+\end{document}

</font>
</pre>